【第2/9章】算法绪论

算法:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

算法五特性:

输入 算法具有零个或多个输入
输出 算法至少有一个或多个输入
有穷性 算法在执行有限步骤后自动结束,不会出现无限循环
确定性 算法的每一步都有确定的含义
可行性 算法的每一步都是可行的

算法的要求:

正确性

算法至少具有输入、输出和加工处理无歧义性、能够正确反映问题的需求、能够得到问题的正确答案。1.算法程序没有语法错误  2.算法对合法输入可以产生正确答案  3.算法对非法输入的说明处理  4.算法对刁难的测试数据都有满足输出的结果。

可读性 便于阅读、理解和交流
健壮性 当输入非法数据时,算法也能够做出相应的反应,而不是莫名奇妙的结果。
时间效率与空间效率 应满足时间效率高和存储量低的需求

算法效率的度量方法:

事后估计法:利用计算机测试运行算法的速度。

事前估算法:在计算机程序编制前,依据统计方法对算法进行估算。

常见时间复杂度:

最坏时间复杂度:在最不理想,运气最坏的时候,执行这段代码的时间复杂度。

平均时间复杂度:它把每种情况下的复杂度加起来,然后除以情况的个数,所得的值就是平均复杂度,类似于数学上的均值。

算法空间复杂度:通过计算完成某一算法需要占用的空间大小而实现。

原文地址:https://www.cnblogs.com/handsometaoa/p/12580703.html