算法 

  • 计算=信息处理

         借助某种工具,遵照一定规则,以明确而机械的形式进行

  • 计算模型=计算机=信息处理工具
  • 所谓算法,即特定计算模型下,旨在解决特定问题的指令序列

        输入      待处理的信息(问题)

        输出       经处理的信息(答案)

     正确性      的确可以解决特定的问题

     确定性      任一算法都可以描述为一个由基本操作组成的序列

     可行性       每一基本操作都可实现,且在常数时间内完成

     有穷性       对于任何输入,经有穷次基本操作,都可以得到输出

好算法

  • 正确:符合语法,能够编译、链接

                    能够正确处理简单的输入

                    能够正确处理大规模的输入

                    能够正确处理一般性的输入

​​​​​​​                    能够正确处理退化的输入

​​​​​​​                    能够正确处理任意合法的输入

  • 健壮:能够辨别不合法的输入并做适当的处理,而不致非正常退出
  • 可读:结构化 + 准确命名 + 注释 + ...
  • 效率:速度尽可能快;存储空间尽可能少

​​​​​​​​​​​​​​                    Algorithms + Data Structures = Programs       // N.wirth,1976

​​​​​​​​​​​​​​                    (Algorithms + Data Structures)  × Efficiency = Computation