共查询到20条相似文献,搜索用时 31 毫秒
1.
众所周知,排序速度的快慢,取决于排序算法的时间复杂度和空间复杂度。因而,排序算法设计的主导思想,就是要千方百计降低算法的时间复杂度和空间复杂度。虽然计算机硬件的运算速度越来越快,但排序算法的研究仍是算法理论中的一个重要课题。已有的排序算法很多,在所有基于“记录关键字之间比较”的排序方法中,快速排序(quick sort)是平均时间性能最好的一种方法,平均时间为O(n*log n)。但是在最坏情况下,时间复杂度却很高,为O(n^2)。 相似文献
2.
一种基于的统计的排序算法 总被引:1,自引:0,他引:1
本文提出了一种基于统计的快速排序算法,并对该算法的时间复杂度和空间复杂度进行了分析,该算法要求排序关键字满足一定的约束条件,其时间复杂度为O(n),对该算法做一些简单的修改,还可以将其推广到一般关键字的排序问题。 相似文献
3.
4.
一种基于统计的排序算法 总被引:2,自引:0,他引:2
本文提出了一种基于统计的快速排序算法 ,并对该算法的时间复杂度和空间复杂度进行了分析 .该算法要求排序关键字满足一定的约束条件 ,其时间复杂度为 O(n) .对该算法做一些简单的修改 ,还可以将其推广到对一般关键字的排序问题 . 相似文献
5.
6.
快速排序在数据部分相等或有序时,时间复杂度最坏为O(n2)。针对于任意类型的分类数据的排序,文章在快速排序的基础上,提出一种新的排序算法,具有快速排序算法的简洁性,但是不使用递归算法,时间复杂度为O(n),空间复杂度为O(1)。通过理论分析和实验表明,该算法的性能明显优于其它排序算法,特别适合于数据量大的场合。 相似文献
7.
深度优先稳定原地归并排序的高效算法 总被引:1,自引:0,他引:1
基于分治策略,使用深度优先的方法,提出了一种用于线性表的稳定原地归并排序算法,其时间复杂度为O(n lb n),辅助空间复杂度为O(1),递归栈空间复杂度为O(lb n),同时进行了算法分析和实验测试。实验结果表明,该算法效率较STL中的稳定原地归并排序算法有67.51%的提升,解决了稳定排序算法中要么时间复杂度高要么空间复杂度高的问题。 相似文献
8.
归并排序是一种稳定,高效的排序算法。归并排序算法一般是用顺序存储结构实现的。如Sun公司JDK中Java Collection库中对数组、List的排序。使用顺序存储结构实现归并排序需要空间复杂度为O(n)的辅助存储空间,对于链表来说,还需要转换为顺序存储结构,所以共需要2n的辅助存储空间。本文提出一种链表非递归归并排序算法,可以对链表进行原地(In Place)排序,只需要O(logn)的辅助存储空间,时间复杂度不变。 相似文献
9.
归并排序是一种稳定.高效的排序算法。归并排序算法一般是用顺序存储结构实现的。如Sun公司JDK中Java Collection库中对数组、List的排序。使用顺序存储结构实现归并排序需要空间复杂度为O(n)的辅助存储空间,对于链表来说,还需要转换为顺序存储结构,所以共需要2n的辅助存储空间。本文提出一种链表非递归归并排序算法,可以对链表进行原地(In Place)排序,只需要O(logn)辅助存储空间,时间复杂度不变。 相似文献
10.
并行双调排序算法的有效实现及性能分析 总被引:1,自引:0,他引:1
排序是计算机中最常见的操作之一,双调排序是一个非常著名的排离算法,也是最早的并行排序算法,又调排离对排序算法的研究具有非常深远的影响,基于双调排序算法的基本思想,介绍了双调排序在分布存储的并行计算机环境下的一种有效实现方式,采用局部多对多通信替换全局通信,很好地解决了双调排序中的通信问题,算法的计算复杂度为⊙n/p(logn log^2p),其中n为待排序的关键字个数,p为处理器数,算法在二维网孔结构上通信时间复杂度达到了O(2.12132√p.n/p)其量级达到了理论上的下限,分析结果表明,双调排序算法也具有很好的通信性能和可扩展性。 相似文献
11.
该文给出基因组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). 相似文献
13.
14.
变换存储结构的一种高效排序算法 总被引:2,自引:0,他引:2
给出变换存储结构的一种高效排序算法 ,该算法的时间复杂度为 O(n) ,且与待排序数据的分布无关 .给出了该排序算法的描述 ,并在时间复杂度和空间复杂度两方面与其他排序算法作了比较 相似文献
15.
排序是计算机领域的一种重要操作,实现方法有很多种。该文从算法的基本思想、时间复杂度、空间复杂度、稳定性和问题的规模n值大小等方面对常用的排序算法进行了比较分析,为各种实际应用领域选择、设计一个高效且合理实用的算法提供了依据。 相似文献
16.
本文提出了一种由分“档”、整体置换和局部快速排序所组成的新排序算法-分“档”快速排序法,算法分析和实验结果都表明,在待排序数据均匀分布或正态分布的情况下,分“档”快速排序算法的时间复杂度可以达到O(n),而附加存储空间开销却仅仅为[(n 1)/2],同时排序速度明显优于Quick Sort[2]、快速分组排序[5]、分“档”统计插入排序[1]和Proportion Split Sort[4]等算法。 相似文献
17.
18.
王永刚 《数字社区&智能家居》2006,(10):1-2,6
排序在数据处理中占有极重要的位置,排序算法的好坏,直接影响到实现的复杂度。本文介绍了常用的排序算法,并详细讨论了各种排序法的实现、改进和时间复杂度。最后对这些排序算法进行了比较。 相似文献
19.
循环插入排序法 总被引:2,自引:0,他引:2
唐开山 《计算机工程与应用》2005,41(12):88-91
文章提出了一种循环插入的排序方法。给出了算法思想、算法描述、算法分析和实验结果。其理论意义是改进了一类时间复杂度为O(N2)排序法的时间复杂度,其实用价值是该排序法在一类时间复杂度为O(N2)排序法中排序效率较高的,其平均排序速度比直接插入排序法、选择排序法、冒泡排序快50%~63%。 相似文献
20.
《计算机工程与科学》2014,(1)
单向链表广泛应用于动态存储结构,当前单向链表的排序算法普遍效率偏低,而平均效率最高的快速排序算法并不适用于单向链表。基于分治策略,使用递归方法,通过重新链接单向链表节点,提出了用于单向链表的快速排序算法,其平均时间复杂度为O(nlog2n),辅助空间复杂度为O(0),平均递归栈空间复杂度为O(log2n);同时,进行了算法分析和实验测试,其效率较其它单向链表排序算法有较大提高,且较传统基于线性表的快速排序算法也有一定提高。研究结果解决了当前单向链表排序效率较低的 相似文献