算法:解决特定问题步骤的描述,在计算机中的描述:指令的有限序列,每条指令表示一个或多个操作。 没用通用的算法,也没有包治百病的药! 算法的五大特性: 输入:0或者多个输入输出:1或者多个输出有穷性:在能合理的时间内得出结果确定性:每一步都有确定的含义,不会出现二义性可行性:每一步都是正确的 好的算法: 正确性可读性健壮性:对不合法的输入有合适的处理高效率低存储 算法效率的度量方法: 事后统计方法:设计好的算法和大量的数据在目标平台上测试, 必须要设计好的算法时间比较受硬件和软件影响测试数据设计困难 事前分析估算方法:基本操作的数量表示成输入规模的函数 常见的时间复杂度