一、算法的五个特征
- 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
- 确定性:算法中的每一条指令必须有确切的含义,没有二义性,在任何条件下,只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出。
- 可行性:算法是可执行的,算法描述的操作可以通过已经实现的基本操作行有限次来实现。
- 输入:一个算法有零个或多个输入。
- 输出:一个算法有一个绒多个输出。
二、算法设计的要求
正确性(Correctness)
算法满足问题要求,能正确解决问题算法转化为程序后要注意:
- 程序中不含语法错误;
- 程序对于几组输入数据能够得出满足要求的结果;
- 程序对于精心选择的、典型、苛刻且带有刁难性的组输入数据能够得出满足要求的结 果;
- 程序对于—切合法的输入数据都能得出满足要求的果。
通常以第三层意义上的正确性作为衡量一个算法是合格的标准
可读性(Readability)
- 算法主要是为了人的阅读和交流,其次才是为计算机执行,因此算法应该易于人的理解;
- 另一方面,晦涩难读的算法易于隐藏较多错误而难以调试
健壮性(Robustness)
- 指当输入非法数据时,算法恰当的做出反应或进行相应处理,而不是产生莫名其妙的输出结果。
- 处理出错的方法,不应是中断程序的执行,而应是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理
高效性(Efficiency)
要求花费尽量少的时间和尽量低的存储需求
本文介绍了算法的五个基本特征:有穷性、确定性、可行性、输入和输出,并强调了算法设计的四个关键要求——正确性、可读性、健壮性和效率。正确性是衡量算法合格的标准,健壮性体现在处理非法输入时能给出适当反馈,而效率关乎时间和空间复杂度。
960

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



