已知一序列[10,25,78,62,12,37,70,29,15,18],请给出按希尔排序时间复杂度法(增量序列取 di=5,3,1 )

您的页面出错啦_百度优课
小学语文.人教版2001
学  段:
小学初中高中
科  目:
教材版本:
人教版2001
鲁教版2001
苏教版2001
语文A版2001
北京版2001
语文S版2001
冀教版2001
北师大版2001
西师大版2001
浙教版2001
鄂教版2001
湘教版2001
教科版2001
沪教版2001
长春版2001
这篇文档考试没有及格,已经被删除了,请看看其他文档吧5秒后自动跳转数据结构练习3-10答案[1]文档全部是精华文档,排版清楚,质量好。文档全部是..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
数据结构练习3-10答案[1]
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口数据结构第七章 复习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据结构第七章 复习题
上传于||文档简介
&&数​据​结​构​复​习​题
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢数据结构练习3答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据结构练习3答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
你可能喜欢什么是希尔排序,为什么说希尔排序的效率与所选的增量序列有关。谢谢?_百度知道
什么是希尔排序,为什么说希尔排序的效率与所选的增量序列有关。谢谢?
提问者采纳
一趟增量为increment的Shell插入排序 }while(increment&gt,即所有记录放在同一组中进行直接插入排序为止,分组较多; &#47。参见上述实例,ShellPass和InsertSort基本一致;ShellPass void ShellSort(SeqList R) { int increment=n;&#47。 增量序列的取值依次为,每组的记录数目少.key),13。 给定实例的shell排序的排序过程 假设待排序文件有10个记录;0 do { increment=increment&#47。 3.稳定性 希尔排序是不稳定的,只是由于没有哨兵而在内循环中增加了一个循环判定条件"i++) / &#47,比较和移动的次数约在nl,int d) {&#47。 2.设监视哨的shell排序算法 具体算法【参考书目[12] 】 算法分析 1.增量序列的选择 Shell排序的执行时间依赖于增量序列;&#47,38;&#47,希尔排序在效率上较直接插人排序有较大的改进。 因此;希尔排序中的一趟排序: ① 最后一个增量必须为1;查找前一记录 }while(j&gt,不妨设n&插入R[i]到正确的位置上 } &#47,n和n2的差别也较小.key){ R[0]=R[i]希尔排序基本思想 基本思想;;/d1): 49;&#47,其关键字分别是; /3+1;后移记录 j=j-d.25之间。 2.Shell排序的时间性能优于直接插入排序 希尔排序的时间性能优于直接插入排序的原因。 ②当n值较小时;&#47: ①当文件初态基本有序时直接插入排序所需的比较和移动次数均较少。先在各组内进行直接插人排序;&#47。 好的增量序列的共同特征;&#47,而各组的记录数目逐渐增多,分组数逐渐减少,04,把文件的全部记录分成d1个组,后来增量di逐渐缩小: 5,给出了目前较好的结果,1 排序过程如【动画模拟演示】,以防下标越界;=R[j],55.25到1;…&lt。 ③在希尔排序开始时增量较大,49;j=i-d,取第二个增量d2&R[0]只是暂存单元。 Shell排序的算法实现 1. 不设监视哨的算法描述 void ShellPass(SeqList R,76。 有人通过大量的实验,故各组内直接插入较快; R[j+d]=R[0];0&&R[0];/dt-l&lt。所有距离为dl的倍数的记录放在同一个组中;R[j],d为当前增量 for(i=d+1,所以新的一趟排序过程也较快;ShellSort 注意,即直接插入排序的最好时间复杂度O(n)和最坏时间复杂度0(n2)差别不大,increment);d2&lt,直至所取的增量dt=1(dt&endif } &#47:当n较大时; / ② 应该尽量避免序列中的值(尤其是相邻的值)互为倍数的情况;求下一增量 ShellPass(R; /&#47,3,不是哨兵 do {&#47。 该方法实质上是一种分组插入方法.key&/d1重复上述的分组和排序;0"然后; /查找R[i]的插入位置 R[j+d];将R[d+1..n]分别插入各组当前的有序区 if(R[i],27;j&gt: 当增量d=1时;/增量初值;i&lt.key&1) } &#47: 先取一个小于n的整数d1作为第一个增量;&#47,但由于已经按di-1作为距离排过序;=n,使文件较接近于有序状态,65,该例中两个相同关键字49在排序前后的相对次序发生了变化; &#47,97.6n1;R[i-d]
其他类似问题
为您推荐:
希尔排序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 希尔排序增量 的文章

 

随机推荐