复习:算法复杂度

算法的复杂度与其所操作的数据有关,指的是在各种情况下(最好,最差和平均)完成所要的运算法进行操作的次数。
最快的算法复杂度为O(1),表示算法的操作次数与数据量无关。
O(N),N为数据集的数据量,表示与操作次数直接相关
O(logN),操作次数与数据量的对数相关。
一般的排序是:
 
O(1)-O(logN)-O(N)-O(NlogN)-O(N*N)
 
对于查找而言一般的情况如下:
-----------------------------------------------------------------
    算    法    最好情况    平均情况    最坏情况
-----------------------------------------------------------------
  快速排序      O(NlogN)    O(NlogN)    O(N 2)
  归并排序      O(N)        O(NlogN)    O(NlogN)
  基数排序      O(N)        O(N)        O(N)   
  线性查找                  O(N)
  折半查找                  O(NlogN)
  哈希查找                  O(N/M)*
  健树查找                  O(1)**
-----------------------------------------------------------------
* M是哈希表项的数目
** 实际上相当于有2 32个哈希表项的哈希查找
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值