收藏 分享(赏)

内部排序2.ppt

上传人:天天快乐 文档编号:1144926 上传时间:2018-06-15 格式:PPT 页数:24 大小:160.50KB
下载 相关 举报
内部排序2.ppt_第1页
第1页 / 共24页
内部排序2.ppt_第2页
第2页 / 共24页
内部排序2.ppt_第3页
第3页 / 共24页
内部排序2.ppt_第4页
第4页 / 共24页
内部排序2.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、浙江万里学院计算机系,1,数据结构课件,内部排序第二讲2004年12月,浙江万里学院计算机系,2,上一讲内容回顾,插入排序 直接插入排序 稳定 T(n)=O(n2)交换排序起泡排序 稳定 T(n)=O(n2) 原表有序时 T(n)=O(n)快速排序 不稳定 O( n.log2n) 原表有序时 T(n)=O(n2),浙江万里学院计算机系,3,本讲内容,选择排序简单选择排序 稳定 T(n)=O(n2) 堆排序 不稳定 T (n)= O( n.log2n) 归并排序 两路归并排序 稳定T (n)= O( n.log2n),浙江万里学院计算机系,4,9.4 选择排序,一、简单选择排序:思路: 组织外循

2、环(趟) i=1, n-1 每趟:从ri,ri+1,.,rn 选关键字最小值的记录放ri ;算法分析,时间复杂度: T(n)=O(n2) 排序稳定,浙江万里学院计算机系,5,一、简单选择排序算法,void smp_selecpsort(listtp r) for ( i=1; i=n-1 ; i+) k=i; /* 记下较小值的下标 */ for ( j=i+1; j=n; j+) if ( rj.keyrk.key) k=j; if ( k!=i ) x=rk; rk=ri; ri=x; /* smp _selecpsort */,浙江万里学院计算机系,6,二、堆排序:,1. 堆的概念: n

3、个元素序列k1,k2,.,kn, 当且仅当满足: ki=k2i (i=1,2,. , n/2 ) kix.key) bool=1; /* 已是堆关系*/ else ri=rj ; i=j; j=2*i; /* 较小数上移,向下搜索 */ /* i是j的双亲结点号,i是结果位置 */ ri=x; /* heappass */,(1)堆内核心算法,处理ri到rm序列,浙江万里学院计算机系,22,void heapsort(listtp r) /* 初建堆 */ for ( i= n/2 ; i=1; i-) heappass(r,i,n); /*输出堆顶元素,调整堆逻辑堆尾下标m不断变小*/ fo

4、r ( m=n-1; m=1; m-) printf(“n %d”, r1.key); x=r1; r1=rm+1; rm+1=x; /* 堆顶堆尾元素对换 */ heappass(r,1,m); /* 恢复堆 */ printf(“n %d”, r1.key); /* heapsort */,(2) 堆排序主体算法,浙江万里学院计算机系,23,4. 堆排序算法 分析:,(1)因为主体算法:O(n) 子算法:O( log2n)与堆深有关。 所以 T(n)=O(n.log2n) 当n 大时算法很快。 在各种情况下T(n)大体不变。(2) 空间:占用一个(记录); (3)不稳定。;,浙江万里学院计算机系,24,作业: P70 9.3 快速;堆;归并排序;,掌握基本思路,熟练手工表示; 能读懂、识别、分析算法; 上机运行比较不同算法优劣;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报