算法的特性
- 输入输出
- 有穷型 —— 算法在执行有限的步骤后自动结束而不会出现无限循环,并且每一步都在可接受都时间内完成
- 确定性 —— 算法的每一步都有确定都含义,不会出现二义性
- 可行性 —— 算法都每一步都必须是可行的
算法设计需求
- 正确性
- 可读性
- 健壮性
- 时间效率高
- 存储量低
时间复杂度 O(1) < O(lgn) < O(n) < O(nlgn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
一般估算的时间复杂度都是最坏情况下的时间复杂度
时间复杂度 O(1) < O(lgn) < O(n) < O(nlgn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
一般估算的时间复杂度都是最坏情况下的时间复杂度