好算法的特性
正确性
最基础的特性
可读性
清晰,容易阅读和修改
健壮性
对异常情况下处理能力的评价
高效性
求解同样问题的不同算法所占时间和空间的评价
时间复杂度
对输入做规定:
最坏情况下的时间复杂度
最好情况下的时间复杂度
渐进表达式
当N单调增加趋向∞时,T(N)也单调增加趋向于∞,存在(T(N)-T'(N)/T(N))->0,则称T'(N)是T(N)的渐进形态
时间复杂度排序
log(n) < n < n log(n) < n² < 2^n
示例
指定迷宫大小,入口,出口,生成迷宫地图,以及自动通路
问题进行理解,找到已知信息:输入
逻辑结构:算法,存储数据,数据逻辑关系