首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
排序是计算机科学中一个非常重要的问题.提出了一种基于分布计数的基数排序方法,给出该算法定义、算法描述、算法正确性证明和算法分析;讨论了基于该排序算法几个关键问题的解决方法.算法理论分析和实验结果研究均表明该算法时间复杂度为O(N),速度优于快速排序,是一种高效的排序方法.  相似文献   

2.
一种基于统计的排序算法   总被引:2,自引:0,他引:2  
本文提出了一种基于统计的快速排序算法 ,并对该算法的时间复杂度和空间复杂度进行了分析 .该算法要求排序关键字满足一定的约束条件 ,其时间复杂度为 O(n) .对该算法做一些简单的修改 ,还可以将其推广到对一般关键字的排序问题 .  相似文献   

3.
单向链表广泛应用于动态存储结构,当前单向链表的排序算法普遍效率偏低,而平均效率最高的快速排序算法并不适用于单向链表。基于分治策略,使用递归方法,通过重新链接单向链表节点,提出了用于单向链表的快速排序算法,其平均时间复杂度为O(nlog2n),辅助空间复杂度为O(0),平均递归栈空间复杂度为O(log2n);同时,进行了算法分析和实验测试,其效率较其它单向链表排序算法有较大提高,且较传统基于线性表的快速排序算法也有一定提高。研究结果解决了当前单向链表排序效率较低的  相似文献   

4.
单向链表快速排序算法   总被引:2,自引:0,他引:2  
单向链表广泛应用于动态存储结构,当前单向链表的排序算法普遍效率偏低,而平均效率最高的快速排序算法并不适用于单向链表。基于分治策略,使用递归方法,通过重新链接单向链表节点,提出了用于单向链表的快速排序算法,其平均时间复杂度为O(nlog2n),辅助空间复杂度为O(0),平均递归栈空间复杂度为O(log2n);同时,进行了算法分析和实验测试,其效率较其它单向链表排序算法有较大提高,且较传统基于线性表的快速排序算法也有一定提高。研究结果解决了当前单向链表排序效率较低的问题。  相似文献   

5.
快速排序算法是基于关键字比较的一种性能较好的排序算法,平均时间复杂度为O(nlogn)。文章针对快速排序分治的策略和基数排序的原理,提出了一种基于基数的快速排序改进算法,论述了改进算法的理论依据和基本思想,并给出了递归形式的算法描述。改进后的算法在执行效率方面和占用辅助空间方面都有所改善。改进后算法不需要作关键字比较,特别适合大数据量的排序,具有一定的应用价值。  相似文献   

6.
石海鹤  薛锦云 《软件学报》2012,23(9):2248-2260
排序是计算机学科中的一类特殊问题,其算法设计策略的灵活性使得求解算法更具多样性.基于形式化方法PAR(partition-and-recur),研究了排序算法的自动生成问题.刻画了排序问题的代数性质,形式化构建了排序算法领域的泛型类型构件和算法构件,建立了排序领域特定语言和算法生成形式化模型,以参数替换的方式自动生成了一组排序算法,包括快速排序、堆排序、Shell排序等典型的已知算法以及增量选择排序等若干未见于现有文献的算法,并在程序生成系统中予以了实现.通过上层框架研究和底层构件支持,显著提高了特定领域算法的开发效率和可靠性.  相似文献   

7.
排序是计算机程序设计中一种重要操作,本文论述了C语言中快速排序算法的改进,即快速排序与直接插入排序算法相结合的实现过程.在C语言程序设计中,实现大量的内部排序应用时,所寻求的目的就是找到一个简单、有效、快捷的算法.本文着重阐述快速排序的改进与提高过程,从基本的性能特征到基本的算法改进,通过不断的分析,实验,最后得出最佳的改进算法.  相似文献   

8.
分段快速排序法的改进   总被引:6,自引:0,他引:6  
针对分段快速排序法^[1]因分段映射策略不理想而造成算法复杂度显著增加之问题,本文提出了一种由按位块分段、分段映射和局部快速排序所组成的新排序算法-按位块分段快速排序法(以下简称为“按位块分段快速排序”)。算法分析和实验结果都表明:在待排序数据均匀分布或正态分布的情况下,按位块分段快速排序法的时间复杂度可以达到O(N),是附加存储空间开销却仅仅为N+M(M为分段数目,1≤M≤N),同时排序速度明显优于QuickSort^[2]、分段快速排序^[1]、分“档”统计插入排序^[5]和Proportion Split Sort^[7]等算法。  相似文献   

9.
基于有向弧的改进多边形拓扑关系生成算法   总被引:3,自引:0,他引:3  
文章提出了一种基于有向弧段的多边形拓扑关系生成算法,改进了传统算法.算法对每个结点的关联孤段按方位角排序并对这种有序性进行了补充定义,同时为弧段增加两个方向相关的字段,分别表示弧段的方向和是否被遍历过,搜索多边形的同时对遍历过的有向孤段加以标记.本算法避免了多边形的反复搜索和内角的计算,提高了建立多边形拓扑关系的效率.最后,时该算法进行了分析和实例计算.  相似文献   

10.
庹清  向贵成  宋耀虎 《计算机应用》2011,31(Z1):183-184,191
在讨论目前已有的快速排序算法的基础上,提出一种新的按位拆分快速排序算法,利用Java实现了算法的并行运算。算法分析和实验结果表明,它的算法时间复杂度可达到O(Kn),排序速度明显优于Quick Sort。  相似文献   

11.
阐述了Hoare的快速排序算法及其缺点,在此快速排序算法的基础上利用找中项的线性选择算法改进了快速排序算法,使得快速排序在最坏情况下的性能达到最优。  相似文献   

12.
一种三路划分快速排序的改进算法   总被引:1,自引:0,他引:1  
快速排序是一种经典的排序算法,它的平均性能非常突出。针对快速排序在某些特殊情况下(如数据已有序或重复数据较多时)效率较低的问题进行了研究,对三路快速排序进行改进,使快速排序在特殊情况下也能保持较好的效率。通过大量的数据测试发现,该算法在最好情况下其性能在几个数量级上优于普通快速排序,在最坏情况下,其性能较普通快速排序无明显差距。改进后的三路快速排序是一种通用高效的排序算法,因此在某些情况下选用、该算法会获得更好的效率。  相似文献   

13.
一种Byte-快速排序算法研究   总被引:5,自引:1,他引:5  
朱红  陈清华  刘国岁 《计算机工程》2002,28(12):39-40,57
提出一种新的Byte-快速排序算法,其排序的速度比B-快速排序算法及快速排序算法要快,且稳定性好,并对其结果排序的速度与B-快速排序算法[3]及理论下界作了比较。  相似文献   

14.
在决策树计算模型下,任何一个基于比较来确定元素相对位置的排序算法需要的计算时间是Ω(nlog2n).如果能设计一个需要O(nlog2n)时间的排序算法,在渐近的意义上,这个排序算法就是最优的.由C.A.R.Hoare发明的快速排序算法它在平均情况下需要O(nlog2n)时间.本文就该算法在最好情况下、最坏情况下、平均情况下的性能进行分析.  相似文献   

15.
一种基于HASH变换的循环散列分档排序算法   总被引:1,自引:1,他引:1  
在数据排序问题中,各种分段快速排序算法[3~11]只有对特定的数据分布类型或者符合ΔM相似文献   

16.
现有的排序算法很难实现自定义顺序的字符串排序,提出一种自定义顺序的字符串快速排序方法.在应用连续编号定义字符排序顺序的基础上,使用哈希表结构将字符串转换成对应的整型数组,以字符的最大编号作为基数排序算法的新基数,实现字符串的基数排序.分析和实验表明,本文方法可有效实现自定义顺序的字符串排序,是一个时间和空间复杂度都是线性的排序算法,比快速排序(Quick Sort)具有更好的时间性能,且可以方便地推广到其它语言的字串排序中.  相似文献   

17.
本文针对传统地址排序算法的两个缺点,设计了一个新的地址排序算法,本算法用PASCAL语言在IBM PC机上实现,并与快速排序算法进行了排序时间的比较,结果表明本算法优于快速排序算法。  相似文献   

18.
研究了快速排序算法,并在其基础上提出了基于多核技术的OpenMP并行编程模型的快速排序算法.实验结果表明,该并行算法具有较高的并行加速比和并行效率.  相似文献   

19.
孙鲁毅 《程序员》2004,(6):112-115
在每一本讲算法的教科书中差不多都有讲排序的方法,从最初的选择排序、冒泡排序,到哈希排序、快速排序、堆排序,二叉树排序等等。一般的认为,通用排序中.最低的算法复杂度为O(n·LoG(n)),n是待排序的元素个数。那么有没有比这更快,算法复杂度更低的排序算法呢?在本文中,大家将会看到一种算法复杂度为0(n)的  相似文献   

20.
排序是将由若干数据元素(或记录)构成的一条任意序列,重新根据特定关键字排列成一条有序的序列的一种操作.介绍了6种经典的排序算法:冒泡、快速、直接插入、希尔、简单选择、归并,详细讨论了这6种排序算法的基本思想、时间复杂度,并对这些排序算法进行了分析和比较.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号