首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 171 毫秒
1.
通过对目前常用的几种排序算法的研究,指出它们均为双重循环或多重循环结构设计,提出一种只需要单重循环结构即可完成排序过程的算法,并进行了编程实现。通过对该算法的时间复杂度、空间复杂度以及稳定性等性能分析,证明该算法对于基本有序的数据排列排序性能优秀,并针对其在逆序或数据复杂的情况下,会重复比较一些已经比较过了的数据这一不足,对该算法进行了改进。改进后的算法效率得到提高。  相似文献   

2.
排序算法是计算机程序设计广泛使用的解决问题的方法.研究排序算法具有重要的理论意义和广泛的应用价值。论述几种常用的内部排序算法,从时间复杂度、空间复杂度及稳定性方面对这些算法进行了比较分析,提出文献中出现的两种冒泡算法版本商榷之处,以供在不同条件下选择适合的排序算法借鉴。并分别提供实现各种算法的c++源代码。  相似文献   

3.
归并排序是一种稳定.高效的排序算法。归并排序算法一般是用顺序存储结构实现的。如Sun公司JDK中Java Collection库中对数组、List的排序。使用顺序存储结构实现归并排序需要空间复杂度为O(n)的辅助存储空间,对于链表来说,还需要转换为顺序存储结构,所以共需要2n的辅助存储空间。本文提出一种链表非递归归并排序算法,可以对链表进行原地(In Place)排序,只需要O(logn)辅助存储空间,时间复杂度不变。  相似文献   

4.
本文给出了一种对关键字在特定范围内的数据记录不用进行数据的比较交换的快速排序算法、算法思想、算法描述、时间复杂度及空间复杂度分析,并用C++语言编写程序进行算法比较。结果表明:在关键字范围远远小于记录数的情况下,此算法的时间复杂度仅为O(n),并且明显优于其他排序算法。  相似文献   

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

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

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

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

9.
本文提出一种按位段计数的排序方法。讨论了该排序法几个关键问题的解决方法,给出了算法思想、算法描述、算法分析和实验结果。其理论意义是该排序法的时间复杂度达到0(N),其实用价值是该排序法具有较高的排序效率以及与数据类型、分布、范围无关。  相似文献   

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

11.
排序有许多经典的算法,如插入排序、交换排序、选择排序等。这些排序算法的性能包括时间复杂度、空间复杂度以及稳定性各有优劣。笔者在这里给出一种全新的排序算法——队与栈排序。这种算法打破传统以交换或移动为主要排序的做法,而是借助栈和队这两种数据结构来实现排序。  相似文献   

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

13.
该文给出基因组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).  相似文献   

14.
一种新型单循环排序算法   总被引:2,自引:2,他引:2  
排序是计算机程序设计中一项经常而又重要的操作,研究排序算法具有重要的理论意义和广泛的应用价值。通过对目前常用的几种排序算法的研究,指出它们均为双重循环或多重循环结构设计,借鉴了军队排队列的思想,提出一种只需要单重循环结构即可完成排序过程的新型算法,并进行了编程实现。通过对该算法的时间复杂度、空间复杂度以及稳定性等性能分析,证明该算法对于基本有序的数据排列排序性能优秀,对于数据排列大都是两两错位的排序过程接近最优算法。  相似文献   

15.
数据等概率分档排序算法有效性的定量研究   总被引:3,自引:0,他引:3  
归纳提出了数据等概率分档排序算法。该算法综合分析了以往的概率统计排序算法,充分利用了数据的分布信息,使得待排序数据尽可能平均分配到不同的区间内,分别对不同区间的数据排序,进而得到有序的序列;提出数据等概率分档排序算法有效性的定量研究,从理论上量化并论证了分档数m的取值、分布类型的近似程度以及影响它们的几个因素,而这些方面的量化实际排序提供指导;推导出了一些重要的结论,实验表明理论上的结果与实际情况相符。  相似文献   

16.
We present four polylog-time parallel algorithms for matching parentheses on an exclusive-read and exclusive-write (EREW) parallel random-access machine (PRAM) model. These algorithms provide new insights into the parentheses-matching problem. The first algorithm has a time complexity of O(log2 n) employing O(n/(log n)) processors for an input string containing n parentheses. Although this algorithm is not cost-optimal, it is extremely simple to implement. The remaining three algorithms, which are based on a different approach, achieve O(log n) time complexity in each case, and represent successive improvements. The second algorithm requires O(n) processors and working space, and it is comparable to the first algorithm in its ease of implementation. The third algorithm uses O(n/(log n)) processors and O(n log n) space. Thus, it is cost-optimal, but uses extra space compared to the standard stack-based sequential algorithm. The last algorithm reduces the space complexity to O(n) while maintaining the same processor and time complexities. Compared to other existing time-optimal algorithms for the parentheses-matching problem that either employ extensive pipelining or use linked lists and comparable data structures, and employ sorting or a linked list ranking algorithm as subroutines, the last two algorithms have two distinct advantages. First, these algorithms employ arrays as their basic data structures, and second, they do not use any pipelining, sorting, or linked list ranking algorithms  相似文献   

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

18.
变换存储结构的一种高效排序算法   总被引:2,自引:0,他引:2  
给出变换存储结构的一种高效排序算法 ,该算法的时间复杂度为 O(n) ,且与待排序数据的分布无关 .给出了该排序算法的描述 ,并在时间复杂度和空间复杂度两方面与其他排序算法作了比较  相似文献   

19.
提出一种哈希函数分档的排序算法。根据数组下标递增的特点,针对任意分布整数,建立有效的哈希函数,通过反复映射完成排序。分析算法的时间和空间复杂度,实验验证算法的运行效率。算法分析和实验结果表明:算法的时间和空间复杂度均为O(n),在问题规模较大时,效率优势明显。  相似文献   

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

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