http://blog.csdn.net/mijian1207mijian/article/details/50383481
* 加法原则
T(n)=T1(n)+T2(n)=O(f(x))+O(g(n))=O(max(f(n),g(n)))
* 乘法原则
T(n)=T1(n)∗T2(n)=O(f(n)∗g(n))=O(f(n)∗g(n))
* 渐进时间复杂度
O(1)<O(lg2n)<O(n)<O(nlgn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
* 复杂度的解释
- O(1) :从数据中互获取一个元素
- O(lgn) :将一个数据集分成两半,然后将分开的每一半再分成一半,一次类推
- O(n) :遍历一个数据集
- O(nlgn) :将数据集分成一半,然后再分成一半,同时遍历每个数据集
- O(n2),O(n∗m) :遍历一个数据集中每个元素的同时,遍历另一个数据量相同的数据集合
- O(2n): 为一个数据集生成其可能的所有集合
- O(n!) :为一个数据集生成其所有的排列组合
- n+(n−1)+...+1=n(n+1)2
- 1+2+3+...+n=n∗n−12
- 12+22+...+n2=n(n+1)(2n+1)6
- 13+23+...+n3=(n(n+1)2)2