云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编程入门教程第十章 排序 - 图文

编程入门教程第十章 排序 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 21:31:21

10.3.3堆排序小顶堆:ri

?时间复杂度O(nLogn)?

大顶堆:ri>r2i,ri>r2i+1空间复杂度O(1)

349839816581737339814765564756122098349820ypb@ustc.edu.cn21中国科学技术大学voidHeapAdjust(HeapType&H,ints,intm){//算法10.10

//已知H.r[s..m]中记录的关键字除H.r[s]之外均满足堆的定义,rc=H.r[s];

for(j=2*s;j<=m;j*=2){//沿key较大的孩子结点向下筛选

if(j=H.r[j].key)break;//rc应插入在位置s上H.r[s]=H.r[j];s=j;}//for

H.r[s]=rc;//插入}//HeapAdjust

voidHeapSort(HeapType&H){

for(i=H.length/2;i>0;--i)HeapAdjust(H,i,H.length);for(i=H.length;i>1;--i){H.r[i]?H.r[1]HeapAdjust(H,1,i-1);}

}//HeapSortypb@ustc.edu.cn22中国科学技术大学10.3.4希尔排序?又称“缩小增量排序”

初始:

4938659776132749554913└────────┘

3827└───────┘

6549└───────┘9755└───────┘

76

└───────┘

一趟排序:132749550449386597

└────┴────┴────┘

270465└────┴────┘

494997└────┴────┘

5538

└────┴────┘

二趟排序:130449382749556597三趟排序:041327384949556576

04

0476

767697

ypb@ustc.edu.cn23中国科学技术大学希尔排序voidShellInsert(SqList&L,intdk){for(i=dk+1;i<=L.length;++i)if(LT(L.r[i].key,L.r[i-dk].key)){L.r[0]=L.r[i];//暂存在L.r[0]

for(j=i-dk;j>0&<(L.r[0].key,L.r[j].key);j-=dk)L.r[j+dk]=L.r[j];//记录后移,查找插入位置L.r[j+dk]=L.r[0];//插入}

}//ShellInsert

voidShellSort(SqList&L,intdlta[],intt){for(intk=0;k

ShellInsert(L,dlta[k]);//一趟增量为dlta[k]的插入排序}//ShellSort

ypb@ustc.edu.cn24中国科学技术大学

搜索更多关于: 编程入门教程第十章 排序 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

10.3.3堆排序小顶堆:rir2i,ri>r2i+1空间复杂度O(1)349839816581737339814765564756122098349820ypb@ustc.edu.cn21中国科学技术大学voidHeapAdjust(HeapType&H,ints,intm){//算法10.10//已知H.r[s..m]中记录的关键字除H.r[s]之外均满足堆的定义,rc=H.r[s];for(j=2*s;j<=m;j*=2){//沿key较大的孩子结点向下筛选if(j

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com