快速排序在什么情况下最能发挥其长处 5

 我来答
起个名好难8257b
高粉答主

2020-10-17 · 说的都是干货,快来关注
知道小有建树答主
回答量:476
采纳率:100%
帮助的人:19.4万
展开全部

最好情况:

每一次划分对一个记录定位后,该记录的左侧子表与右侧子表的长度相同,为O(nlog2n)。

最坏情况:

每次划分只得到一个比上一次划分少一个记录的子序列(另一个子序列为空),为 O(n2)。

扩展资料

快速排序实现原理:

快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

1、默认数组的第一个数为基准数据,赋值给key,即key=array[low]。

2、因为默认数组的第一个数为基准,所以从后面开始向前搜索(high–),找到第一个小于key的array[high],就将 array[high] 赋给 array[low],即 array[low] = array[high]。(循环条件是 array[high] >= key;结束时 array[high] < key)

3、此时从前面开始向后搜索(low++),找到第一个大于key的array[low],就将 array[low] 赋给 array[high],即 array[high] = array[low]。(循环条件是 array[low] <= key;结束时 array[low] > key)

4、循环 2-3 步骤,直到 low=high,该位置就是基准位置。

5、把基准数据赋给当前位置。

miniappsab5lztv4qkpc
2013-01-17 · TA获得超过624个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:175万
展开全部
最好情况:
每一次划分对一个记录定位后,该记录的左侧子表与右侧子表的长度相同,为O(nlog2n)。
最坏情况:
每次划分只得到一个比上一次划分少一个记录的子序列(另一个子序列为空),为 O(n2)。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友07b2f68
2014-02-23
知道答主
回答量:3
采纳率:0%
帮助的人:3023
展开全部
被排序的数据中含有多个相同的排序关键字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Feldt
2012-11-20 · TA获得超过480个赞
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:281万
展开全部
???这是啥软件?EXCEL?问题描述不清。。。。
追问
是数据结构里面的知知识
追答
好吧,这个我帮不了你了,数据库我懂的比较少
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式