代码改变世界

各种时间复杂度汇总

2019-03-25 22:38  mengjuanjuan1994  阅读(1491)  评论(0编辑  收藏  举报

1.关于数组和链表

数组:支持随机存取,取数据时时间复杂度O(1)

           插入删除的时间复杂度O(N)

链表:不支持随机存取,取数据时时间复杂度O(N)

           插入删除的时间复杂度为O(1)

 

2.排序的时间复杂度

冒泡排序、选择排序、插入排序,平均时间复杂度为O(N^2)

归并排序、快速排序、堆排序,平均时间复杂度O(NlgN)

 

3.查找的时间复杂度

顺序查找:O(N)

折半查找:O(lgN)

 

4. 二叉搜索树的查找的时间复杂度

二叉搜索树完全平衡时,时间复杂度为O(lgN)

二叉搜索树极度不平衡时,退化成链表,时间复杂度为O(N)

所以二叉搜索树的时间复杂度: O(lgN) ~ O(N)