各排序算法性能分析
来源:互联网 发布:苹果udid定制软件 编辑:程序博客网 时间:2024/05/01 16:05
插入排序:最坏时间始n^2
快速排序和插入排序的区别是:插入排序始将关键字插入已排序的子序列中,而快速排序始>对整个文件,把基准关键字放到正确的位置上。
快排最坏时间依然是n^2, 平均时间始nlgn。
在堆排序:的过程中只需一个辅助空间!所以空间 复杂度为 0(1)
堆排序的时间复杂度为 nlgn;
由于堆排序过程需要进行任意位置上记录的移动:; 待筛结点值存放于辅助单元中
和交换!所以它是一种不稳定的
二路归 并 排 序: 的时间复杂度为nlgn;
二路归并排序时需要利用一个同待排序数组一样
大小的辅助数组"所以空间复杂度为哦o(n)同时"二路归并排序也是一种稳定的排序方法&
希 尔 排 序: 的 事 件 复 杂 度 介 与nlgn 和 n^2 之间;空间辅助为o(1);
希尔排序是不稳定的排序算法&
由以上对各种排序算法性能的分析和比较 "我们 可
以得出如下结论"
当排序记录数n较大时若要求排序稳定则 采用归并排序
当 排 序 记 录 数 n 较 大 "关 键 字 会 出 现 正 (逆) 序 情 行,则可以用堆排序和
快速排序和插入排序的区别是:插入排序始将关键字插入已排序的子序列中,而快速排序始>对整个文件,把基准关键字放到正确的位置上。
快排最坏时间依然是n^2, 平均时间始nlgn。
在堆排序:的过程中只需一个辅助空间!所以空间 复杂度为 0(1)
堆排序的时间复杂度为 nlgn;
由于堆排序过程需要进行任意位置上记录的移动:; 待筛结点值存放于辅助单元中
和交换!所以它是一种不稳定的
二路归 并 排 序: 的时间复杂度为nlgn;
二路归并排序时需要利用一个同待排序数组一样
大小的辅助数组"所以空间复杂度为哦o(n)同时"二路归并排序也是一种稳定的排序方法&
希 尔 排 序: 的 事 件 复 杂 度 介 与nlgn 和 n^2 之间;空间辅助为o(1);
希尔排序是不稳定的排序算法&
由以上对各种排序算法性能的分析和比较 "我们 可
以得出如下结论"
当排序记录数n较大时若要求排序稳定则 采用归并排序
当 排 序 记 录 数 n 较 大 "关 键 字 会 出 现 正 (逆) 序 情 行,则可以用堆排序和
归并排序;
当排序记录数n较大时若要求排序稳定则 采用归并排序
当 排 序 记 录 数 n 较 大 "关 键 字 会 出 现 正 (逆) 序 情 行,则可以用堆排序和
归并排序;
当 排 序 记 录 数 较 大 "关 键 字 分 布 随 机 "而 且 不要求稳定排序,则可用快>速排序;
当 排 序 记 录 数 n 较 小 "记 录 已 接 近 有 序 或 随 机 分
布时"又要求排序稳定"可采用直接插入排序
当 排 序 记 录 数 n 较 小 "且 对 稳 定 性 不 作 要 求 时 可采用直接选择排序
0 0
- 各排序算法性能分析
- 排序算法性能分析
- 排序算法性能分析
- 排序算法性能分析
- 排序算法性能分析
- 排序算法性能分析
- 排序算法性能分析
- 排序算法性能分析
- 常用排序算法性能分析
- 排序算法的性能分析
- 9种排序算法性能分析(-)
- 数据结构之排序算法性能分析比较
- 排序算法的实现及性能分析
- 多种排序算法性能分析代码 C++
- 七大排序算法性能的分析
- LUA 排序算法和性能分析[2]:冒泡排序算法
- LUA 排序算法和性能分析[3]:选择排序算法
- LUA 排序算法和性能分析[4]:快速排序算法
- live555学习(九) --PLAY命令处理
- 重装系统之后 Oracle 数据库的恢复的方法
- 小记
- Jdbc操作MySql数据库插入数据性能研究
- 重装系统之后 Oracle 数据库的恢复的方法
- 各排序算法性能分析
- OC中对象的常用方法
- YUV颜色空间介绍
- 每天一个小程序(4)——顺序栈
- crtmpserver流媒体服务器的介绍与搭建
- 11款Java工具:源代码优化与分析
- servlet 认证,授权
- 智能指针weak_ptr用途
- 使用Android adb命令来启动Android应用程序