#算法效率
在算法效率中时间复杂度常常作为考点
时间复杂度
语句频度:该条语句可能重复执行的次数
T(n) 所有语句的频度之和,其中n为问题的规模
// An highlighted block
int sum = 0;
for(int i = i; i ,= i;i++)
sum +=1;
...
//时间复杂度O(n)
时间复杂度:T(n) = O(f(n)),其中O表示T(n)与f(n)在n->正无穷时为同阶无穷大
加法规则 T(n) = T(1)+ T(2) = O(MAX(f(n), g(n)))
乘法规则:T(n) = T1(n)T2(n) = O(f(n))+O(g(n)) = O((f(n) g(n)))
通常采用基本运算频度
来分析算法时间复杂度
空间复杂度
算法消耗的存储空间,记S(n)=O(g(n))
除本身所用的指令、常数、变量和输入数据外,还需要一些对数据进行操作的工作单元和存储为实现算法所需的一些信息的辅助空间。
★算法原地工作时指算法所需辅助空间为常量,o(1)