记录一下算法分析课的笔记内容:
教材与参考书:算法导论第2/3版
课程的主要内容:在计算机应用中经常遇到的问题和求解算法。
分治法、动态规划法、贪心法、随机算法、近似算法。
算法的重要性:
有超过三分之一的Turing获奖者,其成果与算法有关。
算法的相关概念:
是对特定问题求解步骤的一种描述,是指令的有限序列。
具有下列5个特性:
有穷性:算法有限步结束,指令有限时间完成。
确定性:每条指令都是确定的,无二义性的
可行性:每条指令都能够被执行
输入:有0个或多个输入量
输出:有1个或多个输出量
算法的正确性分析:
一个算法是正确的,如果它对于每一个输入都最终停止,而且产生正确的输出。
不正确算法:
1、不停止(在某个输入上)
2、对所有输入都停止,但对某输入产生不正确结果
近似算法:
1、对所有输入都停止
2、产生近似正确的解或产生不多的不正确结果
调试程序不等于程序的正确性证明,调试程序只能证明程序有错不能证明程序无错
算法好坏的衡量尺度:时间复杂度、空间复杂度。