(二)算法和算法评价
1、算法的基本概念
算法是对特定问题求解步骤的描述,它是指令的有限序列,每一条指令表示一个或多个操作。
重要特性:
(1)有穷性:一个算法必须在执行有穷步之后结束,且每步都要在有穷时间内完成
(2)确定性:算法中的每条指令都必须有确切的含义,对于相同的输入只能有相同的输出
(3)可行性:算法中描述的每个操作都可以通过执行有限次基本运算来实现。
(4)输入:有0个或多个输入。
(5)输出:有一个或多个输出,与输入有某种特定关系
设计好算法,通常要考虑达到以下目标:
(1)算法可以正确的解决问题
(2)应具有良好的可读性,易于理解
(3)健壮性:输入非法数据时,算法可以做出适当的反应或处理
(4)效率和低存储
2、算法效率度量
算法效率的度量是通过时间复杂度和空间复杂度来描述的。
2.1 时间复杂度
单个语句的频度是指该语句在算法中被重复执行的次数。算法中所有语句的频度之和记为T(n),是该算法问题规模n的函数,时间复杂度主要分析T(n)的数量级。算法中基本运算(最深层循环内的语句)的频度与T(n)同数量级。其实说白一点,也就是「 大O符号表示法 」,即 T(n) = O(f(n))。f(n)表示每行代码执行次数之和,O表示正比例关系。全称叫做算法的渐进时间复杂度
例子:

最低0.47元/天 解锁文章
9120

被折叠的 条评论
为什么被折叠?



