程序员面试宝典(算法):一个算法具有的五个重要特性和评价
摘要:什么是好的算法。输入:一个算法有零格或多个输入。
算法是什么?
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或者多个操作。
算法的特性
有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。
确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。也就是说相同的输入必须产生相同的输出。
可行性:一个算法是可以通过有限的基本运算实现。
输入:一个算法有零格或多个输入
输出:一个算法有一个多个输出
什么是好的算法
正确性:算法应该能够正确的解决问题
可读性:算法应该易于理解
健壮性:即使是输入非法数据,算法也难以进行处理
效率和存储量:效率快,存储量低