首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
归并排序是一种稳定,高效的排序算法。归并排序算法一般是用顺序存储结构实现的。如Sun公司JDK中Java Collection库中对数组、List的排序。使用顺序存储结构实现归并排序需要空间复杂度为O(n)的辅助存储空间,对于链表来说,还需要转换为顺序存储结构,所以共需要2n的辅助存储空间。本文提出一种链表非递归归并排序算法,可以对链表进行原地(In Place)排序,只需要O(logn)的辅助存储空间,时间复杂度不变。  相似文献   

2.
深度优先稳定原地归并排序的高效算法   总被引:1,自引:0,他引:1  
白宇  郭显娥 《计算机应用》2013,33(4):1039-1042
基于分治策略,使用深度优先的方法,提出了一种用于线性表的稳定原地归并排序算法,其时间复杂度为O(n lb n),辅助空间复杂度为O(1),递归栈空间复杂度为O(lb n),同时进行了算法分析和实验测试。实验结果表明,该算法效率较STL中的稳定原地归并排序算法有67.51%的提升,解决了稳定排序算法中要么时间复杂度高要么空间复杂度高的问题。  相似文献   

3.
该文给出基因组Transhocation排序问题的一个改进多项式算法,原算法所有存储空间O(n),时间复杂度为O(n^3),文中改进算法仍采用O(n)存储空间,时间复杂度为O(n^2logn),具体地,将计算Translocation距离的时间复杂度由O(n^3)改进为O(n^2),将计算Translocation序列的时间复杂度由O(n^3)改进为O(n^2logn).  相似文献   

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

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

6.
介绍一种链式存储的逐步归并排序算法,其最佳时间复杂度为O(n),空间复杂度为O(1).  相似文献   

7.
现在最快的排序算法是快速排序算法,它的时间复杂度达到O(n log n)。但是还有一种排序算法,就是Flashsort排序算法。它的时间复杂度达到O(n),超过了前者。FlashSort排序是基于分类的算法,它的实现思想很简单,是利用构造出来的索引来排序。举一个简单的例子,比如有一百个整数,你很容易就能把它们放在数组的正确位置上,根本不需要作任何比较。  相似文献   

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

9.
一种节省空间的排序算法   总被引:2,自引:0,他引:2  
目前报道的一些排序算法,空间复杂度都比较大.提出了一种改进其空间复杂度的方法,其特点是算法简单、稳定,时间复杂度为O(n^2),空间复杂度为2n,达到下界.与传统的排序算法用变量与变量比较的思路不同,本文提出的是一种用变量与其分布区间进行比较的新思路.本算法特别适合那些范围确定且分布基本均匀的待排数据,也适合一般数据对象的排序.  相似文献   

10.
链表是一种较为复杂的数据结构,而基于链表的排序算法更是让人难以理解,且普遍效率较低,但其运用却极其广泛.通过对基于单向链表的插入排序算法进行剖析,继而归纳出其与顺序存储结构上实现插入排序算法的区别与优势,并从时间复杂度、空间复杂度与稳定性进行比较,体现出其优越性能和实现技巧.  相似文献   

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

12.
有向基因组移位排序问题在计算生物学研究中占有重要位置.以前最好的算法时间复杂度为O(n^2logn).该文给出一个有向基因组移位排序的新多项式算法,将移位排序的时间复杂度改进为O(n^2).算法改进的关键在于找到一种寻找有效合理移位的新方法,通过在最小子排列中删除无关顶点确定一个合理移位是否有效,从而将寻找一个有效移位的时间复杂度改进为O(n),总时间复杂度由此降为O(n^2).  相似文献   

13.
快速排序在数据部分相等或有序时,时间复杂度最坏为O(n2)。针对于任意类型的分类数据的排序,文章在快速排序的基础上,提出一种新的排序算法,具有快速排序算法的简洁性,但是不使用递归算法,时间复杂度为O(n),空间复杂度为O(1)。通过理论分析和实验表明,该算法的性能明显优于其它排序算法,特别适合于数据量大的场合。  相似文献   

14.
并行双调排序算法的有效实现及性能分析   总被引:1,自引:0,他引:1  
排序是计算机中最常见的操作之一,双调排序是一个非常著名的排离算法,也是最早的并行排序算法,又调排离对排序算法的研究具有非常深远的影响,基于双调排序算法的基本思想,介绍了双调排序在分布存储的并行计算机环境下的一种有效实现方式,采用局部多对多通信替换全局通信,很好地解决了双调排序中的通信问题,算法的计算复杂度为⊙n/p(logn log^2p),其中n为待排序的关键字个数,p为处理器数,算法在二维网孔结构上通信时间复杂度达到了O(2.12132√p.n/p)其量级达到了理论上的下限,分析结果表明,双调排序算法也具有很好的通信性能和可扩展性。  相似文献   

15.
一种非比较分段排序算法的研究   总被引:4,自引:2,他引:4  
非比较分段排序(简称NCSS)算法是建立在模仿人类思想方式基础上的一种非比较排序算法,算法分析和实验结果都表明:NCSS算法的时间复杂度和待排序数据分布无关,为O(N),而附加存储空间极小,排序速率明显优于QuickSort,ProportionSplitSort,分段快速排序等算法,NCSS算法特别适合于数据最大的场合。  相似文献   

16.
关键路径求解的新算法   总被引:7,自引:2,他引:7  
徐凤生  黄倩 《计算机应用》2004,24(12):108-109
关键路径通常是在拓扑排序的基础上求得的。文中在按广度优先搜索基础上,提出了一种新的求解关键路径的算法,该算法采用图的十字链表结构形式,不需要进行拓扑排序,算法的时间复杂度为O(n e),较传统的算法效率更高。  相似文献   

17.
一种新的分"档"置换插入排序算法   总被引:1,自引:0,他引:1  
近年来,人们提出了众多时间复杂度为O(n)的排序算法.但分析研究结果表明,上述排序方法都不同程度上存在着以下两点不足:(1)附加存储空间开销大,(2)排序效率过分依桢于关键字的均匀分布.基于此,表文提出了一种由分“档”、整体置换和局部直接插入排序所组成的新排序算法——分“档”置换插入排序法.算法分析和实验结果都表明:该排序方法与待排序数据分布无关,其时间复杂度为O(n),而附加存储空间开销少于0.5n,同时排序速度明显优于QuickSort、HeapSort、按字节桶分配链接排序、ProportionSplitSort等算法.  相似文献   

18.
众所周知,排序速度的快慢,取决于排序算法的时间复杂度和空间复杂度。因而,排序算法设计的主导思想,就是要千方百计降低算法的时间复杂度和空间复杂度。虽然计算机硬件的运算速度越来越快,但排序算法的研究仍是算法理论中的一个重要课题。已有的排序算法很多,在所有基于“记录关键字之间比较”的排序方法中,快速排序(quick sort)是平均时间性能最好的一种方法,平均时间为O(n*log n)。但是在最坏情况下,时间复杂度却很高,为O(n^2)。  相似文献   

19.
Multisets排序是指对具有k个不同计算机系统、基于消息传递环境下,以加法运算为基础的稳定的归并并行算法,该算法实现对Multisets的排序,其时间复杂度为O(n/p log p k log p 4p n/2).  相似文献   

20.
循环插入排序法   总被引:2,自引:0,他引:2  
文章提出了一种循环插入的排序方法。给出了算法思想、算法描述、算法分析和实验结果。其理论意义是改进了一类时间复杂度为O(N2)排序法的时间复杂度,其实用价值是该排序法在一类时间复杂度为O(N2)排序法中排序效率较高的,其平均排序速度比直接插入排序法、选择排序法、冒泡排序快50%~63%。  相似文献   

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

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