一、算法的特性
1.有穷性:一个算法必须总在执行有穷步之后结束,且每一步都可在有穷时间内完成
2.确定性:算法中每条指令必须有确切的含义,对于相同的输入只能得出相同的输出
3.可行性:算法中描述的操作都可以通过已实现的基本运算执行有限次来实现
4.输入:一个算法有0个或多个输入
5.输出:一个算法有一个或多个输出
二、好算法的特质
1.正确性:算法应能正确地解决求解问题
2.可读性:算法应该具有良好的可读性,以帮助人们理解
3.健壮性:输入非法数据时,算法能适当做出反应与处理
4.高效率与低存储量需求:时间复杂度低、空间复杂度低