牛小飞《数据结构》7.1排序问题、插入排序和希尔排序.ppt
《牛小飞《数据结构》7.1排序问题、插入排序和希尔排序.ppt》由会员分享,可在线阅读,更多相关《牛小飞《数据结构》7.1排序问题、插入排序和希尔排序.ppt(38页珍藏版)》请在三一办公上搜索。
1、排序问题和插入排序,排序问题,插入排序,小结和作业,排序的定义,内部排序和外部排序,内部排序方法的分类,排序问题,稳定性,排序的定义,排序是计算机内经常进行的一种操作,其目的是将一组“无序”的序列调整为“有序”的序列。,52,49,80,36,14,58,61,23,97,75,14,23,36,49,52,58,61,75,80,97,排序的定义,一般情况下,假设含n个记录的序列为 R1,R2,,Rn 其相应的关键字序列为 K1,K2,,Kn,这些关键字相互之间可以进行比较,即在它们之间存在着这样一个关系:Kp1Kp2Kpn,按此固有关系将上式记录序列重新排列为 Rp1,Rp2,,Rpn 的
2、操作称作排序。,排序的定义,关键字(key):数据对象有多个属性域,即多个数据成员组成,其中有一个属性域可用来区分对象,作为排序依据,称为关键字。也称为排序码。,排序的定义,为简单起见,假设排序例子中的数组只包含整数,当然程序也允许更一般的对象。被排序的对象属于Comparable类型。,排序方法的稳定性,如果在对象序列中有两 个对象ri和rj,它们的排序码 ki=kj,且在排序之前,对象ri排在rj前面。如果在排序之后,对象ri仍在对象rj的前面,则称这个排序方法是稳定的,否则称这个排序方法是不稳定的。,内部排序和外部排序,由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方
3、法分为:,1.内部排序:整个排序过程不需要访问外存便能完成。,2.外部排序:参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成。,内部排序方法的分类,内部排序的过程是一个逐步扩大记录的有序序列长度的过程。,有序序列区,无 序 序 列 区,有序序列区,无 序 序 列 区,内部排序方法的分类,基于不同的“扩大”有序序列长度的方法,内部排序方法大致可分下列几种类型:,1.插入排序,2.交换排序,3.选择排序,4.归并排序,5.基数排序,内部排序方法,插入排序:将无序子序列中的一个或几个记录“插入”到有序序列中,从而增加记录的有序子序列的长度。,各种排序方法的定义,交换排序:通过“交换”无序
4、序列中的记录从而得到其中关键字最小或最大的记录,并将它加入到有序子序列中,以此方法增加记录的有序子序列的长度。,选择排序:,从记录的无序子序列中“选择”关键字最小或最大的记录,并将它加入到有序子序列中,以此方法增加记录的有序子序列的长度。,各种排序方法的定义,归并排序:,通过“归并”两个或两个以上的记录有序子序列,逐步增加记录有序序列的长度。,基数排序:,是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。,各种排序方法的定义,插入排序,一趟插入排序的基本思想:,有序序列R0.i-1,Ri,无序序列 Ri.n-1,有序序列R0.i,无序序列 Ri+1.n-1,插入排序,一趟(one pa
5、ss)插入排序的实现步骤:,3将Ri 插入(复制)到Rj+1的位置上。,2将Rj+1.i-1中的所有记录均后移 一个位置;,1在R0.i-1中查找Ri的插入位置,R0.j Ri Rj+1.i-1;,插入排序分类,1.直接插入排序7.2(基于顺序查找),2.希尔排序7.4(基于逐趟缩小增量),直接插入排序,基本操作:将一个记录插入到已经排好序的有序表中。,利用“顺序查找”实现“在R0.i-1中查找Ri的插入位置”,直接插入排序,算法实现要点:,从Ri-1起向前进行顺序查找,,R0,j,Ri,j=i-1,插入位置,tmp=Ri,直接插入排序,38,65,97,76,13,27,49,38,i=1:
6、,49,38,49,65,97,76,13,27,38,65,i=2:,49,38,65,97,i=3:,49,38,65,97,49,65,97,76,13,27,38,76,i=4:,76,97,直接插入排序,49,65,76,97,13,27,38,49,65,76,97,13,27,38,13,i=5:,49,38,65,76,97,13,38,49,65,76,97,27,13,27,i=6:,49,38,65,76,97,27,直接插入排序,算法实现要点:,tmp=Ri;,循环结束表明Ri的插入位置为 j+1,for(j=i-1;j=0/从后往前找,直接插入排序,public st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 牛小飞 7.1 排序 问题 插入 希尔
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5997897.html