各种排序算法的复杂度
来源:互联网 发布:abb机器人编程指令实例 编辑:程序博客网 时间:2024/06/14 08:17
一.排序算法复杂度
排序算法
时间复杂度
空间复杂度(最坏情形)
最好
平均
最坏
冒泡排序
O(n)
O(n^2)
O(n^2)
O(1)
插入排序
O(n)
O(n^2)
O(n^2)
O(1)
归并排序
O(n*log(n))
O(n*log(n))
O(n*log(n))
O(n)
快速排序
O(n*log(n))
O(n*log(n))
O(n^2)
O(n)
堆排序
O(n*log(n))
O(n*log(n))
O(n*log(n))
O(1)
桶排序
O(n+k)
O(n+k)
O(n^2)
O(nk)
基数排序
O(nk)
O(nk)
O(nk)
O(n+k)
二.使用比较的排序算法下界
上面的二叉树建立了决策树的模型,可以得出的结论是:任意N个数,它们的排列方式有N!种,使用比较排序,至少要比较log(N!)次(树的深度)。这可以用于证明排序算法的下界。只使用元素间比较的任何排序算法需要进行Ω(NlogN)次比较。
证明:使用比较的排序需要进行log(N!)次比较,log(N!) =log(N(N-1)(N-2)(N-3)(N-4)…1)
>=logN+log(N-1)+…log(N/2)
>=N/2log(N/2)
=N/2log(N)-N/2
=Ω(NlogN)
- 各种排序算法的复杂度
- 各种排序算法的复杂度
- 各种排序算法的复杂度
- 各种排序算法的复杂度
- 各种排序算法的复杂度
- 各种排序算法的复杂度
- 各种排序算法的复杂度
- 各种排序的算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度
- 各种排序算法的时间复杂度和 空间复杂度
- 各种常用排序算法的时间复杂度和空间复杂度
- Apache Hadoop是什么
- linux 调测
- LeetCode Plus One
- 服务器上的 Git - 生成 SSH 公钥
- [3月风情]西江苗寨行
- 各种排序算法的复杂度
- 让你明白response.sendRedirect()与request.getRequestDispatcher().forward()区别
- ThinkPHP开发笔记--环境搭建
- 运行./xx.sh提示permission denied
- uva 1423 拓扑排序
- 在BBB启动时自动加载dtbo(或执行脚本、运行程序)
- JAVA--100内的素数
- tomcat下域名的配置,ROOT.xml的作用
- HTML5表单验证特性