社区
C语言
帖子详情
快速排序划分先处理较短的那部分 能提高效率吗?
汪瑜彬
2015-03-29 03:06:30
如题在做快速排序时,能通过优先处理 划分后较短的那部分 减少算法的递归深度吗,请高手解答 ?
...全文
433
5
打赏
收藏
快速排序划分先处理较短的那部分 能提高效率吗?
如题在做快速排序时,能通过优先处理 划分后较短的那部分 减少算法的递归深度吗,请高手解答 ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2015-03-30
打赏
举报
回复
楼主我估计在你之前至少有上几十万人次企图优化快速排序算法而不得!
就想叫yoko
2015-03-29
打赏
举报
回复
没区别的,都是要算,谁先谁后一样 你这个优化思路的正解是分治后并行计算。但一般没这个必要 我面试别人的时候问快排如果问别人如何优化,基本答出随机化主元以及为什么要这么做就行了。
FightForProgrammer
2015-03-29
打赏
举报
回复
根较短的没关系吧。跟划分的关键字有关
fly_dragon_fly
2015-03-29
打赏
举报
回复
递归深度用于stack 跟效率关系不大
jiht594
2015-03-29
打赏
举报
回复
你可以自己模拟一下啊
Java面试题每日一练(4.16)
每次
划分
后,
先
处理
较
短
的分区可以减少递归次数 递归次数与每次
划分
后得到的分区的
处理
顺序无关 解析:
快速排序
的递归次数与元素的初始排列有关。如果每一次
划分
后分区比较平衡,则递归次数少;如果
划分
后分区不...
快速排序
(三种算法实现和非递归实现)
快速排序
(Quick Sort)是对冒泡排序的一种改进,基本思想是选取一个记录作为枢轴,经过一趟排序,将整段序列分为两个
部分
,其中一
部分
的值都小于枢轴,另一
部分
都大于枢轴。然后继续对这两
部分
继续进行排序,从而使...
【白话python八大排序】
快速排序
,冒泡排序,归并排序,基数排序,希尔排序的过程、时间复杂度、空间复杂度
堆排序过程、时间复杂度及空间复杂度?...对第一
部分
递归地应用
快速排序
算法,然后对第二
部分
递归地应用
快速排序
算法。 在最差情况下,
划分
由 n 个元素构成的数组需要进行 n 次比较和 n 次移动。因此
划分
所...
排序的时间复杂度
快速排序
每次将待排序数组分为两个
部分
,在理想状况下,每一次都将待排序数组
划分
成等长两个
部分
,则需要logn次
划分
。 而在最坏情况下,即数组已经有序或大致有序的情况下,每次
划分
只能减少一个元素,
快速排序
将...
分治法(
快速排序
、归并排序)
4.
快速排序
重在
划分
,分解:数组A[p..r]被
划分
为两个子数组A[p. .q-1]和A[q+1,r],使得A[q]为大小居中的数,左侧A[p. .q-1]中的每个元素都小于等于它,而右侧A[q+1,r]中的每个元素都大于等于它。要求时间复杂度为O(n)...
C语言
69,366
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章