首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
排序是计算机操作中的一种常用技术,排序算法在顺序表上有很多实现技术,但在链表上的研究却很少见。本文讨论了在静态链表上的二路插入排序算法的实现思想,并实现了该算法,最后分析了该算法的时间复杂度和空间复杂度。  相似文献   

2.
表插入排序算法的优点在于其避免了记录的移动,算法执行的花销主要在于查找插入位置,平均时间复杂度为O(n2/4)。针对表插入排序算法中每次查找插入位置均需从表头开始的限制,提出了新的表插入排序算法,给出了相关算法描述及性能分析。大量实验表明,新的表插入排序算法的平均时间复杂度为O(n2/6),而查找插入位置所需进行的元素比较的次数平均减少了33%。结果显示虽然平均时间复杂度与其他的表插入排序算法相当,但元素比较的次数却有了很大的降低,为下一步与折半查找相结合提供了方向。  相似文献   

3.
链表排序程序设计的算法解析   总被引:1,自引:0,他引:1  
唐蔼明 《微型电脑应用》2002,18(12):60-62,64
本文介绍了链表排序程序设计的3种算法:(1)链表简单排序法;(2)链表选择排序法;(3)链表指针插入排序法。3种排序方法的时间复杂度都是0(n^2),如果链表节点内容很多,3种排序算法中运行时间最节省是链表指针插入排序法,它只交换节点地址,没有交换节点内容。  相似文献   

4.
单链表是用一组地址任意的存储单元存放线性表中的数据元素,静态链表就是在那些不能用指针的语言里用数组建立链表并用一个下标来维护。在此给出了插入排序在数组和链表下的算法与分析,从时间复杂度和空间复杂度两方面证明了二者的相似处与区别。  相似文献   

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

6.
基于数组的桶排序算法   总被引:1,自引:0,他引:1  
经典桶排序算法以链表形式实现"桶",处理均匀数据效率很高,是O(N)算法 .但对极不均匀数据则退化成低效的O(N2)插入排序 .讨论了记录携带附加数据的计数排序算法,将"桶"实现为顺序数组,避免链表的动态内存分配直接提高算法效率,并允许快排等O(N log N)算法处理桶内数据 .对均匀数据仍然保持O(N)时间复杂度,对极端不均匀数据则只退化为O(N log N)的原算法 .对一般非均匀数据,证明数组桶排序算法总体性能高于经典算法 .均匀数据实验表明,桶排序算法明显优于Linux下标准qsort系统调用,且数组桶排序算法效率更高 .而在非均匀的正态数据实验中数组桶算法性能下降明显小于经典桶排序,总体效率仍然优于qsort的直接应用 .  相似文献   

7.
时间复杂度为O(N)的联接算法   总被引:1,自引:0,他引:1       下载免费PDF全文
本文提出基于Hash位阵列结构的等值联接算法,它利用Hash位阵列及链表来实现等值匹配查找,时间复杂度为O(N),而且实现此算法的结构比较简单,容易实现。普通联接算法的时间复杂度为O(N2)  相似文献   

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

9.
双向插入排序法   总被引:6,自引:0,他引:6  
本文提出一种双向插入的排序方法。给出了算法思想、算法描述、算法分析和实验结果。其理论意义是改进了插入排序法的时间复杂度,其实用价值是该排序法比直接插入排序法具有较高的排序效率。  相似文献   

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

11.
提出一种3路插入排序算法,给出算法思想及其实现的实验结果。与传统循环2路插入排序算法相比,该算法在空间复杂度保持不变的情况下,平均时间效率得到了提高。  相似文献   

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

13.
静态链表上排序算法的研究   总被引:1,自引:0,他引:1  
排序是计算机操作中的一种常用技术,排序算法在顺序表上有很多实现技术,但在静态链表上的研究却很少见。本文讨论了静态链表上冒泡排序,插入排序和选择排序算法的实现思想,用高级语言实现了这几种算法,最后分析了这些算法的性能。  相似文献   

14.
快速插入排序法   总被引:1,自引:0,他引:1  
设法用减少插入序列长度的办法,提出一种快速插入的排序方法。给出了算法思想、算法描述、算法分析和实验结果。其理论意义是改进了插入排序法的时间复杂度,其实用价值是该排序法的排序效率比直接插入排序法提高43%左右。  相似文献   

15.
一种软件结构复杂度度量模型及其自动实现   总被引:1,自引:0,他引:1  
本文对软件结构中扇入/扇出对软件复杂度的影响进行分析,研究探讨了一种基于扇入/扇出的软件结构复杂度度量模型,给出了自动实现算法,该模型在结构化,软构件和基于组件的系统设计分析中具有较高的应用价值。  相似文献   

16.
为实现密码算法硬件实现过程中序列插入排序的高效性,对序列排序特点和当前最为有效的GRP插入排序算法进行分析,基于ibutterfly网络的插入排序实现效率的评估策略,针对GRP算法存在的潜在缺陷,给出GRP算法的改进算法及其硬件实现。利用Matlab对改进算法的实现效率进行验证,基于Design Complier综合工具对其硬件电路进行性能评估,评估结果表明,在硬件面积增加8?2%的基础上,该方案能够有效提升GRP算法的灵活高效性,验证了改进方案的合理性。  相似文献   

17.
考虑粒子间碰撞的原理性与碰撞检测的计算实时性要求,提出两种模糊物体粒子间交互的模型思想.通过引入像素投影链表,设计出一套主动粒子检测碰撞,被动粒子维护链表的近似优化算法,该算法在不丢失感官真实性前提下有效约减系统时间复杂度并与被动粒子数成线性关系,实现了满足动画帧频要求的喷雾水珠与火焰粒子交互的原型系统,进而将该思想推广到其他基于粒子系统的模糊物体粒子间交互的模型中.  相似文献   

18.
介绍稀疏矩阵的三元组表压缩存储方案时,提出了利用数组首下标元素存储稀疏矩阵总行数、总列数和非零元素总个数三方面信息的改进的存储定义方式.给出了基于新的定义结构上用C语言编写的快速转置算法,并通过对算法性能进行分析,提出了仅使用一个数组的两种改进的快速转置算法.经过对比两种改进算法的时间复杂度和空间复杂度,总结出既具有原快速转置算法时间复杂度低的优点,又降低了算法的空间复杂度的优化算法,达到了对原快速转置算法进行优化的目的.  相似文献   

19.
线性表上进行的直接插入排序法是一种较简单的内部排序算法,计算机工作者经常研究和讨论顺序表中直接插入排序算法的实现及其改进,很少研究直接插入排序法在链表上的实现。本文讨论了直接插入排序在单链表上和静态链表上的算法及实现过程。最后分析了算法时间复杂度和空间复杂度。  相似文献   

20.
为降低H.264编码器的复杂度,本文提出了基于视频运动复杂度分类的模式选择算法。该算法首先利用已编码宏块的运动信息识别出视频运动的平稳区域,然后利用模式信息对运动复杂区域进行细分,从而将视频划分为复杂性不同的区域,并对其进行相应的编码。实验表明,该算法平均节省编码时间达63%,有利于实时应用;同时,PSNR平均下降约0.15dB,不影响主观视觉效果。  相似文献   

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

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