社区
数据结构与算法
帖子详情
关于快速排序性能的疑问
司青-已停止更新
2013-01-27 07:33:05
快排理论上平均速度是所有排序中最快的,但在实际应用当中,由于高级语言的限制,要用递归来实现。这样一来就有了重复调用函数的时间开销,快速排序的速度优势就没有了啊。
stdlib中的qsort函数内部是不是通过递归实现的?
...全文
161
5
打赏
收藏
关于快速排序性能的疑问
快排理论上平均速度是所有排序中最快的,但在实际应用当中,由于高级语言的限制,要用递归来实现。这样一来就有了重复调用函数的时间开销,快速排序的速度优势就没有了啊。 stdlib中的qsort函数内部是不是通过递归实现的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kosora曹
2013-01-28
打赏
举报
回复
“重复调用函数”主要是内存的开销,对时间的影响并不大;另外,“归并排序”是“以牺牲空间的代价减少时间”的典型排序,所以经常用于外部排序(因为硬盘的大小几乎是无限的);如果要考虑节省内存,堆排序是比较合适的算法,整个排序只需要一个全局变量int temp用于swap操作;还有,快速排序是可以转换为非递归的,方法是自顶向下对空间树进行层序遍历;归并也可以转换为非递归,通过队列操作,自底向上依次生成父节点,直到根节点,空间树接近完全二叉树。
kernelkoder
2013-01-28
打赏
举报
回复
太高深了,不懂啊
FancyMouse
2013-01-28
打赏
举报
回复
>这样一来就有了重复调用函数的时间开销,快速排序的速度优势就没有了啊。 我笑笑。 >stdlib中的qsort函数内部是不是通过递归实现的? libc里的qsort没看过。STL的sort你能想到的库都是。
dracularking
2013-01-28
打赏
举报
回复
引用 4 楼 cnmhx 的回复:
在现有的软件中,高级语言实现快速排序,鲜有用递归来实现的。
+1 虽然没有实际调研过,但是高级语言就为什么非要用递归实现呢?感觉很站不住脚。
cnmhx
2013-01-28
打赏
举报
回复
在现有的软件中,高级语言实现快速排序,鲜有用递归来实现的。
十大排序算法详解(一)冒泡排序、选择排序、插入排序、
快速排序
、希尔排序
冒泡排序、选择排序、插入排序、
快速排序
、希尔排序
“
快速排序
:解密高效排序的背后奥秘”
快速排序
(Quick Sort)是排序算法中的经典之作,凭借其出色的平均时间复杂度和较低的空间复杂度,成为了实际开发中最常使用的排序算法之一。今天,我们将深入分析这个“隐形冠军”,了解它的原理、实现方式、
性能
...
排序算法之
快速排序
详解(附示例代码)
1.
快速排序
简介 对于包含n个数的输入数组来说,
快速排序
是一种最坏情况时间复杂度为O(n的平方)的排序算法.虽然最坏情况时间复杂度很差,但是
快速排序
通常是实际排序应用中最好的选择.因为他的平均
性能
非常好,它的...
快速排序
快速排序
的特点是原地排序只需要一个非常小的辅助栈,
快速排序
的缺点就是,
快速排序
非常的脆弱,在实现的时候要非常的小心才能够避免低劣的
性能
,我们也在各种教训中大大改进了
快速排序
的算法,使它的应用变得更加...
深入理解
快速排序
之三路划分算法
快速排序
的三路划分算法通过将数组划分为三个部分,有效地处理了包含大量重复元素的数组,避免了不必要的交换操作,提高了算法的效率。该算法在实际应用中具有重要的价值,尤其是在处理大规模数据时。通过本文的详细...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章