算法复杂度说明
一个表示算法运行消耗的函数,用来评估怎样选取算法
按照业界惯例,用大O符号表示法
时间复杂度
案例
下面介绍一些常见的大O表示:性能消耗级别;实例代码;表示方法
常数级别:O(1)
一条语句,如 a = 1 + 1
指数级别:O(2^n)
使用动态规划解决旅行推销员问题
线性级别:O(n)
一层for循环
对数级别:O(logmN),log以m为底的N
int i = 1;
while(i<n)
{
i = i * m;
}
这里计算多少个m相乘可以获得N,就是计算复杂度,即计算算法完成的速度
空间复杂度
类似时间复杂度,指随着输入增加,存储消耗的函数表示;
这里存储可以指内存、外存