快速排序作为一种编程

日期:

2019-09-06 11:26:18

视图:

222

评级:

1就像 0不喜欢

分享:

Table of contents:

在1960,K.A.霍尔研发一种用于迅速排序的信息,这些信息成为最着名的。 今天,它被广泛用于编程,因为它具有很多积极的属性:可用于一般情况下,要求小幅增加额外存储器,兼容不同类型的清单,并易于实现。 但有缺点,其中有一个快速分类:在使用的工作,许多犯了错误,它是有点不稳定。

然而,它是研究最多的版本。 之后的第一个计算Hoare,许多做厚的研究。 创建了一个大型的基础上的理论问题上花费工作时间,这加强了经验性数据。 有一个真正建议,以改善基本的算法和增加速度的工作。

<脚本type="text/javascript">Var blockSettings2={blockId:"R-A-70350-2",renderTo:"yandex_rtb_R-A-70350-2",异步:!0};if(文件。cookie。个("abmatch=")>=0)blockSettings2.statId=70350;!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings2)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/javascript",d.src="//an.yandex.ru/system/context.js",d.async=!0,e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");

快速种非常普遍,它可以发现无处不在。 基于这是实现一个方法TList.排序中存在的所有版本(除了1)德尔斐的图书馆功能的时间花在执行时,qsort在C++.

的基本原则的行动可制定为"分而治之"。 是破的列成两组,排序是执行各个部分由本身。 因此,更需要注意的分离过程,在这期间发生下列情况:定义的一个基本元素和已经关于它重新排列整个列表。 左边的是该小组的候选人,其价值是不转移到权利的所有其他。 事实证明,主要元素的排列是在其应有的地位。 下一个阶段家庭债务还清呼递归的排序功能为双方的元素相对于基础。 结束过程的工作,只有当该名单只包含一个元素,这是进行排序。 因此,要掌握这种编程功能的快速排序,就是要知道的算法在一个较低的水平:a)选择的基件;b)最有效的排列表中获得的两套较小的和较大的数值。

<脚本type="text/javascript">Var blockSettings3={blockId:"R-A-70350-3",renderTo:"yandex_rtb_R-A-70350-3",异步:!0};if(文件。cookie。个("abmatch=")>=0){blockSettings3={blockId:"R-A-70350-3",renderTo:"yandex_rtb_R-A-70350-3",statId:70350,异步:!0};}!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings3)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/javascript",d.src="//an.yandex.ru/system/context.js",d.async=!0,e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");

看一看的原则的第一个。 当选择一种基本项目,理想情况下应得到的中间的名单。 然后休息,它会被分成两个平等的一半。 仅仅计算的平均值在所述清单是非常困难,所以即使最快的排序可以绕过这一微积分方。 但是选择的主要因素与最高或最低价值的家庭债务还清还不是最好的选择。 在这种情况下这样一个定义的一个清单,你已经创造了保证是空和第二满。 因此,结论是,作为一个基本的项目,你应该选择一个这是最接近中间,而是进一步远离最大值和最小值。

一旦选择确定,你可以移动到的算法划分。 这个所谓的内循环的快速排序. 一切都是基于快速的两个指标:第一去的元素从左到右,另一个从右到左。 开始操作,以执行在正确的:该指数是在名单,并比较所有价值观与关键。 循环被认为完成如果元素是较小或等于参考。 然后有的是比较和减少指标值。 左侧的工作完成,同时更大或同等价值。 这样的价值比较的增加而增加。

在这个阶段的算法分,其中包含一个快速的排序可能出现两种情况。 第一,该指数在左边低于正确的。 这表明一个错误,即要素确定列出了错误的顺序。 输出家庭债务还清改变他们的地方。 第二种情况是当两栏都是平等的,或交叉。 这表明一个成功的分离,因此工作可以被视为完成。


Article in other languages:






Alin Trodden - 文章作者、编辑
"你好,我是艾琳*特罗登。 我写文章,看书,寻找印象。 我也不擅长告诉你这件事。 我总是乐于参与有趣的项目。"

评论 (0)

这篇文章没有评论,是第一!

添加评论

相关新闻

用

用"医生网络"-一个严重的对手毒软件

用户的个人计算机通常有疑问的可靠性的安装杀毒软件,尤其是当免费的。 对于这样的情况下,有一个特殊的软件,可以证实或否认你的疑虑。 一个最好的和最可靠的是一个实用的"医生网络"。 它可以快速扫描你的计算机软件和病毒。 并做到完全免费的,只是它下载到你的装置和运行。扫描后,一部分受感染的文件将被治愈,其他部分的、未知的威胁,隔离,不治之症,你将能够删除。 与所有这些工具"医生网"只有两个基本的限制:它没有更新,所以每次都要检查处理需要下载一个新的和可使用无任何...

如何使用

如何使用"油甘鱼":建议为新的玩家

在我们的时间相当多的玩家谁喜欢单项目多人的战斗。 这很容易解释的,这是更有趣的竞争,不与目的人工智能号;,并与现场的对手。 更有趣的如果你知道他们的对手在现实生活中。同意,争取在一个虚拟的战斗和你的朋友有趣得多,而不是搞枪战的那些人从来没有见过。 完成他的梦想,你和你的兄弟们需要安装计算机上美好的程序和quot;油甘鱼和quot;[rek1]它是什么和为什么需要?这是一个了不起的应用程序设计,以创建虚拟的本地网络。 简单地说,它可以创造同样的网络,你作为一...

超级马里奥的游戏时间了

超级马里奥的游戏时间了

谁没有发挥了马里奥? 回到童年和记忆的最好的年华! 马里奥,路易和其他最喜欢的人物都在等待你在马里奥党。水管工的马里奥和他的兄弟路易-是主要角色的游戏,目的是与nbsp;救援捕获的公主。 拯救公主需要经过的蘑菇王国,打了士兵的邪恶的国王库巴。 在线玩马里奥.的游戏包括八个世界每四个层次。 在第一级,马里奥动在全国各地,和第二个最 在地下或水下,在第三级,马里奥动上的一个巨大的蘑菇和平台。 当他到达的第四级,你的角色得到城堡。 ...

基本逻辑操作计算机科学

基本逻辑操作计算机科学

的人都开始学习计算机科学学习的二进制系统。 它是用来评价布尔运作。 请考虑以下所有最基本的逻辑操作计算机科学。 因为如果你觉得它们被用来创建一个逻辑的计算机械和设备。否定之前你开始详细审议具体实例中,我们列出的主要逻辑操作计算机科学:otricanie;slojenie;umnojeniya;sledovanie;Ravenstvo.在开始之前的研究布尔行动来说,在计算机科学的一个谎言是标记"0",并真正为"1".每一个操作,如普通数学,我们用以下的布尔经...

如何删除中国的百病毒? 如何卸载的程序与中国字?

如何删除中国的百病毒? 如何卸载的程序与中国字?

许多用户都熟悉一个新的国防病毒的名义下百度,但很少有人知道,它是能够自己伪装和病毒BaidaEx中国、百度百度和Sd。 最有趣的是,他们自己没有任何用户都安装。 那么谁安装了吗? 中国的奇迹是附受欢迎的程序,安装从互联网上。 在安装过程中的这一软件,用户快按下按钮,目的下一个号;以及精神生活同意并号;、不阅读,到便宜的安装杀毒软件,一个美丽的小组从受欢迎的浏览器,或其他任何东西,这是没有必要在用户的计算机。 如果简单的元素可以很容易地从计算机,防病毒软件和...

家族的评价在WoT:它是什么和为什么需要?

家族的评价在WoT:它是什么和为什么需要?

世界上的坦克家庭债务还清最受欢迎的游戏,这已经是超过5年是在顶部之间的所有类似的项目。 乘坐坦克、战斗至高无上地图上的泵的新模式,加入家族,发言的全球地图,有关的历史,家庭债务还清所有可以做的的每一个的游戏。 积极的方面的项目很难一一列举。 世界各地与世界上的坦克,一个有趣的几千万人,这不能请你喜欢这个宇宙。 他们很高兴收到这样多的竞争对手与其竞争。 最近有一名战队WoT,这极大地促进了能力评估的能力的任何其他博彩社区。 由于这个新的机会,活动的球员有所增...