快速排序原理中的递归是如何进行的

网上有关“快速排序原理中的递归是如何进行的”话题很是火热,小编也是针对快速排序原理中的递归是如何进行的寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题 ,希望能够帮助到您。

T(n) = n+T(n-1) =n+n-1+T(n-2)=...=n+(n-1)+(n-2)+...+1+T(0)=(1+n)*n/2=O(n^2)

理论计算机研究中,衡量算法一般从两个方面分析:时间复杂度和空间复杂度 。空间复杂度跟时间复杂度是类似的,下面简单解释一下时间复杂度:对于一个数据规模为n的问题 ,解决该问题的算法所用时间可以用含有n的函数T(n)来表示。

对于绝大多数情况,只需要了解算法的一般性能而不考虑细节,也就是说 ,我们只关心函数T(n)的表达式的形式,而不关心表达式的常数系数等与数据规模没有关系的量值。

对于函数T(n),我们又进一步将它简化为O(n) ,即只考虑算法平均运行时间的“瓶颈 ”,也就是T(n)表达式中,关于变量n增长最快的哪一项 。

扩展资料:

二进制整数的基数排序是一个非常特殊的情形 ,因为只有两个数字 0 和 1 ,故每次将数据分成 2 个小组。假设所有数据属于[0,21+m-1], m 为一整数,则先根据最高位(m 位)的数字将数据分成 2 个小组 ,分别属于[0,2m-1]和[2m,21 + m-1];

根据次高位(m-1 位)的数字将[0 ,2m-1]的数据分成 2 个小组,分别属于[0,21 - m-1]和[21 - m ,2m-1],将[2m,21 + m-1]的数据分成 2 个小组 ,分别属于[2m,2m+21 - m-1]和[2m+21 - m,21 + m-1];……;这完全类似于快速排序的分治算法结构 ,因而可以类似于快速排序实现该算法。

百度百科-超快速排序

快速排序的基本思想就是从一个数组中任意挑选一个元素(通常来说会选择最左边的元素)作为中轴元素 ,将剩下的元素以中轴元素作为比较的标准,将小于等于中轴元素的放到中轴元素的左边,将大于中轴元素的放到中轴元素的右边 。

然后以当前中轴元素的位置为界 ,将左半部分子数组和右半部分子数组看成两个新的数组,重复上述操作,直到子数组的元素个数小于等于1(因为一个元素的数组必定是有序的)。

以下的代码中会常常使用交换数组中两个元素值的Swap方法 ,其代码如下

public?static?void?Swap(int[] A, int?i, int?j){

int?tmp;

tmp = A[i];

A[i] = A[j];

A[j] = tmp;

扩展资料:

快速排序算法 的基本思想是:将所要进行排序的数分为左右两个部分,其中一部分的所有数据都比另外一 部分的数据小,然后将所分得的两部分数据进行同样的划分 ,重复执行以上的划分操作,直 到所有要进行排序的数据变为有序为止。

定义两个变量low和high,将low、high分别设置为要进行排序的序列的起始元素和最后一个元素的下标 。第一次 ,low和high的取值分别为0和n-1,接下来的每次取值由划分得到的序列起始元素和最后一个元素的下标来决定。

定义一个变量key,接下来以key的取值为基准将数组A划分为左右两个部分 ,通 常 ,key值为要进行排序序列的第一个元素值。第一次的取值为A[0],以后毎次取值由要划 分序列的起始元素决定 。

从high所指向的数组元素开始向左扫描,扫描的同时将下标为high的数组元素依次与划分基准值key进行比较操作 ,直到high不大于low或找到第一个小于基准值key的数组元素,然后将该值赋值给low所指向的数组元素,同时将low右移一个位置 。

如果low依然小于high ,那么由low所指向的数组元素开始向右扫描,扫描的同时将下标为low的数组元素值依次与划分的基准值key进行比较操作,直到low不小于high或找到第一个大于基准值key的数组元素 ,然后将该值赋给high所指向的数组元素,同时将high左移一个位置。

重复步骤(3) (4),直到low的植不小于high为止 ,这时成功划分后得到的左右两部分分别为A[low……pos-1]和A[pos+1……high],其中,pos下标所对应的数组元素的值就是进行划分的基准值key ,所以在划分结束时还要将下标为pos的数组元素赋值 为 key。

参考资料:快速排序算法_百度百科

关于“快速排序原理中的递归是如何进行的”这个话题的介绍 ,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[恳米]投稿,不代表乐悠悠立场,如若转载,请注明出处:https://edecn.cn/news/565.html

(10)

文章推荐

  • 经过十年的延误,Defenders Quest 2终于淘汰了,带来了野生角色设计和怀旧之塔防御恶作剧

      第一个想法在将我的脚趾浸入后卫的任务2:废墟的雾中时突然出现在我的脑海中,因为他们不再像这样做塔防御游戏了。第二个想法是我的茶突然变冷了,过去四个小时神秘地消失了。这是纯粹的视频游戏舒适食品,如果您对闪光游戏设计的后一个时代以及独立场景的繁荣,即使您也有一点怀旧之情。经过十多年的延误,这可能是及

    2025年09月01日
    8318
  • 聚集在孩子周围,让我为您带来NLRB举报人与马斯克的道路的故事。它有政府间谍活动,亿万富翁巨人,俄罗斯黑客,掩盖阴谋,甚至是黑人

      事实证明,美国新的政府效率部门或Doge肯定会辜负其同名。根据举报人的报告,在Doge工人在国家劳资关系委员会(NLRB)中创建的帐户几乎不花几分钟,以使该系统获得以正确的用户凭据为特色的俄罗斯登录尝试。现在这是有效的。  Arstechnica的初步报告是关于ElonMusk-Hel

    2025年09月02日
    14323
  • 污染的圣杯:阿瓦隆评论的堕落

      设置是这样的:您是一个被逃脱的囚犯,他被辩护的饱受战争war岛的阿瓦隆岛免受即将来临的超凡脱俗的力量,称为“Wyrdness”。而且,几个世纪死亡的国王亚瑟(Arthur)的灵魂也抓住了您的潜意识。几个世纪后,他想夺回他的王国,而您恰好是这项任务最理想的船只。  对被污染的圣杯有信心:

    2025年09月03日
    6313
  • 简述激励的双因素理论

    网上有关“简述激励的双因素理论”话题很是火热,小编也是针对简述激励的双因素理论寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。激励的双因素理论由美国心理学家赫茨伯格于1959年提出,指出了影响个体动机的两个因素:内部因素和外部因素。具体内容:内部因素包括成就感

    2025年09月03日
    13314
  • Swen Vincke说,在海岸巫师撤回其BG3 Stardew Mod Distedown的几个小时之前,不应将粉丝Mods视为侵犯您财产的商业企业。

      本月初,我们报道了鲍德尔村(Baldur'sVillage)的发行,这是一个星标山谷(StardewValleyMod),增加了鲍德尔(Baldur)大门3的20多个角色,并获得了拉里安(Larian)首席执行官斯威·维克(SwenVicke)的认可邮票。今天早上,我们报道了海岸的巫师似

    2025年09月04日
    7300
  • 所有刺客的信条阴影盟友以及如何解锁

      刺客信条阴影中的令人惊讶的增加之一是盟友系统,为您提供了六个可以帮助您帮助的同伴。一旦您完全升级了它们,每个人都有多达三种能力和被动的能力,最好的消息是,它们并非全部是专门为战斗而设计的。实际上,以隐形为中心的人实际上是最有用的。  解锁所有交流阴影盟友需要一段时间,甚至可能错过其中的一

    2025年09月06日
    8305
  • 绿豆汤热量高吗-

    网上有关“绿豆汤热量高吗?”话题很是火热,小编也是针对绿豆汤热量高吗?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。问题一:一碗米饭的热量高还是一碗绿豆汤的热量高每100克绿豆的热量是316千卡;每100克鸡肉热量是440千卡。绿豆粥甜是因为加糖,而糖是

    2025年09月06日
    5305
  • 关于看雪的浪漫句子

    网上有关“关于看雪的浪漫句子”话题很是火热,小编也是针对关于看雪的浪漫句子寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1,我们一起去看初雪吧,我也喜欢你。2,亲爱的,看到下雪了吗?我的心就融在那雪里面,围绕着你!提醒着你要注意多穿件衣服,不要着凉了哦!我想

    2025年09月06日
    7308
  • 每天都出现几次“错误678”是怎么回事啊

    网上有关“每天都出现几次“错误678”是怎么回事啊”话题很是火热,小编也是针对每天都出现几次“错误678”是怎么回事啊寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。宽带adsl拨号上网用户经常会碰到“错误678”的故障提示:一直上网正常,但某一天突然上不了了

    2025年09月06日
    5311
  • 求高手给我配台电脑!!!!!!!!!

    网上有关“求高手给我配台电脑!!!!!!!!!”话题很是火热,小编也是针对求高手给我配台电脑!!!!!!!!!寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。不能只看CPU,游戏要看整个平台,DDR3是大势所趋。实在没必要用什么大名牌主板,就象名人代言说句话就

    2025年09月08日
    7303

发表回复

本站作者才能评论

评论列表(3条)

  • 恳米的头像
    恳米 2025年09月07日

    我是乐悠悠的签约作者“恳米”

  • 恳米
    恳米 2025年09月07日

    本文概览:网上有关“快速排序原理中的递归是如何进行的”话题很是火热,小编也是针对快速排序原理中的递归是如何进行的寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望...

  • 恳米
    用户090710 2025年09月07日

    文章不错《快速排序原理中的递归是如何进行的》内容很有帮助

联系我们

邮件:乐悠悠@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

乐悠悠