各种查找排序算法比较

Posted yocichen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种查找排序算法比较相关的知识,希望对你有一定的参考价值。

算法 平均时间 最差时间 最好时间 稳定度 空间 备注 思想
插入 O(n2) O(n2) O(n) 稳定 O(1) 大部分已排序时较好  
希尔 O(nlogn) O(ns)[s属于(1,2)] O(n) 不稳定 O(1) s是所选分组  
冒泡 O(n2) O(n2) O(n) 稳定 O(1) n小时较好  
快速 O(nlogn) O(n2) O(nlogn) 不稳定 O(nlogn) n大时较好 分治法
交换 O(n2) O(n2) O(n) 不稳定 O(1) n小时较好  
选择 O(n2) O(n2) O(n2) 不稳定 O(1) n小时较好  
O(nlogn) O(nlogn) O(nlogn) 不稳定 O(1) n大时较好  
归并 O(nlogn) O(nlogn)) O(nlogn)) 稳定 O(n) n大时较好 分治法
基数 O(d(r+n)) O(d(r+n)) O(d(r+nd)) 稳定 O(n) B是真数(0-9),R是基数(个十百)  
傅里叶变换             分治法
最长公共子序列             动态规划
克鲁斯卡尔 O(eloge)         最小生成树,e为边数目 贪心法
普里姆 O(n2)         最小生成树 贪心法
迪杰斯特拉 O(n2)         点的最短路径 动态规划
佛洛依德 O(n3)         点对的最短路径 动态规划
拓扑排序 O(n+e)            
关键路径 O(n+e)            
辗转相除法 O(logn)         最大公约数,gcd(a,b)= gcd(b,a mod b)  

转自Cblog->java成长之路

以上是关于各种查找排序算法比较的主要内容,如果未能解决你的问题,请参考以下文章

各种排序算法的比较

各种排序笔记

各种排序算法比较

程序员面试必问系列——各种排序算法比较

JavaScript实现排序算法及查找算法

各种排序算法比较