查找,排序算法性能总结

查找,排序的算法很多,性能这块是真的老会懵,干脆总结一下,不太全,可能慢慢还会补充,有错误或者有补充欢迎指出啊~

 

查找算法性能
名称时间复杂度平均查找长度适用存储方式比较次数(最坏)
顺序查找o(n)(n+1)/2顺序/链式n
二分查找o(logn)log(n+1)-1(最小)顺序log(n+1)
分块/索引查找o(logn)~o(n)(n/s+s)/2+1(s表示每块的元素个数)顺序/链式 
哈希查找o(1)   
二叉查找树

最好(平衡二叉树)o(logn)

最坏(只有左/右子树)o(n)

最好(平衡二叉树)log(n+1)-1

最坏(只有左/右子树)(n+1)/2

动态查找表 
红黑树o(logn)   
AVL树o(logn)   

注:红黑树和AVL都属于平衡二叉树,以及我真的看不懂这俩。。。

排序算法性能
名称最好时间复杂度平均时间复杂度最坏时间复杂度辅助空间是否稳定
直接插入o(n)o(n^2)o(n^2)o(1)
二分插入o(n)o(n^2)o(n^2)o(1)
冒泡o(n)o(n^2)o(n^2)o(1)
归并o(nlogn)o(nlogn)o(nlogn)o(n)
基数o(d(rd+n))o(d(rd+n))o(d(rd+n))o(rd+n)
希尔 o(n^1.25) o(1)
快速o(nlogn)o(nlogn)o(n^2)o(logn)
直接选择o(n^2)o(n^2)o(n^2)o(1)
堆排序o(nlogn)o(nlogn)o(nlogn)o(1)

 

注:归并排序需要开辟额外空间

计数排序:非基于比较的排序(基于统计),时间复杂度o(n+k),空间复杂度为o(k),k为数据范围

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值