复习(数据结构):复杂度

来源:互联网 发布:mysql执行sql文件 最快 编辑:程序博客网 时间:2024/06/07 19:26

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)Onm :遍历一个数据集中每个元素的同时,遍历另一个数据量相同的数据集合
  • O(2n)为一个数据集生成其可能的所有集合
  • O(n!):为一个数据集生成其所有的排列组合

  • n+(n1)+...+1=n(n+1)2
  • 1+2+3+...+n=nn12
  • 12+22+...+n2=n(n+1)(2n+1)6
  • 13+23+...+n3=(n(n+1)2)2

0 0
原创粉丝点击