词条 快速排序

快速排序

快速排序英语:Quicksort),又称划分交换排序partition-exchange sort),一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。

快速排序相关文献
快速消费品
参见低档商品便利商店耐用品
查看全文
快速排序
算法快速排序采用“分而治之、各个击破”的观念,此为原地(In-place)分区版本。快速排序使用分治法(Divideandconquer)策略来把一个序列(list)分为两个子序列(sub-lists)。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递归地(recursively)把小于基准值元素的子数列和大于基准值元素的子数列排序。递归到最底部时,数列的大小是零或一,也就是已经排序好了。这个算法一定会结束,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。在简单的伪代码中,此算法可以被表示为:原地(in-place)分区的版本上面简单版本的缺点是,它需要...
查看全文
排序算法
分类在计算机科学所使用的排序算法通常被分类为:计算的时间复杂度(最差、平均、和最好性能),依据列表(list)的大小(n)。一般而言,好的性能是O(nlogn),且坏的性能是O(n)。对于一个排序理想的性能是O(n)。仅使用一个抽象关键比较运算的排序算法总平均上总是至少需要O(nlogn)。内存使用量(以及其他电脑资源的使用)稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。依据排序的方法:插入、交换、选择、合并等等。稳定性当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。在这个状况下,有可能产生两种不同的结果,一个是让相等键值的纪录维持相对的次序,而另外一个则没有:不稳定排序算法可能会在相等...
查看全文
快速公交系统
名称来源1974年营业,世界最早的BRT系统(2006年摄)BRT的“捷运”两字是从铁路系统中挪用的,它描述了一个高容量的城市公共交通系统使用的方式,在短时间内车头时距自己的权利,多辆汽车,和更长的站距比传统电车和公共汽车的名字。BRT公交车相对公交车,使用各种优先级的交通优化措施,包括混合交通,在地面街道的专用车道,公交公交专用道。表达“BRT”,主要用于在南美洲、中国和东南亚,在印度,它被称为“BRTS”(BRT系统之意),在欧洲,它通常被称为“母线”,在澳大利亚,它通常被称为“T-路”(简称过境路),而在爱尔兰和其他地方,这可以被称为“qualitybus”(品质公交车)。简介公交车捷运系统起源于1974年巴西库里奇巴(Curitiba)启用的整合交通网(葡萄牙语:RedeIntegradadeTransporte)(RedeIntegradadeTransporte,RIT)。之后...
查看全文
选择排序
实作范例C语言voidselection_sort(intarr[],intlen){inti,j,min,temp;for(i=0;i<len-1;i++){min=i;for(j=i+1;j
查看全文
快速排序相关标签
排序算法
1961年科学
信息技术