1 / 33
文档名称:

数据结构排序算法.ppt

格式:ppt   页数:33页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构排序算法.ppt

上传人:wc69885 2015/5/22 文件大小:0 KB

下载得到文件列表

数据结构排序算法.ppt

相关文档

文档介绍

文档介绍:第九章排序
本章要求
【教学目的】掌握内排序方法的插入排序;选择排序;交换排序;基数排序;归并排序;排序的存储方式:连续地址、静态链表、索引;稳定的和不稳定的排序方法的判定方法,常见的稳定的排序方法和的不稳定的排序方法。了解外部排序的方法以及外部排序方法的特点。
【教学重点】每种排序方法的算法及算法的性能分析
【教学难点】排序方法的比较及稳定性的确定
第八章查找
一、基本概念
二、插入排序
三、交换排序
四、选择排序
五、归并排序
一、基本概念
排序的目的
排序是为了通过关键字高效的查找相关的记录
排序
就是要调整原文件中的记录顺序,使之按关键字递增(或递减)次序排列起来。其形式化定义描述如下:
输入:n个记录r1,r2,…,rn,其相应的关键字分别为k1,k2,…,kn
输出:rl′,r2′,…,rn′,使得k1′≤k2′≤…≤kn′。
(或k1′≥k2′≥…≥kn′) //有序升序或者降序
一、基本概念
排序的数据结构
待排序的记录采用顺序存储,待排序记录的定义为:
#define MAXSIZE 100 /*假定顺序表的最大长度为100 */
typedef int KeyType; /* 假定关键字类型为整数类型*/
typedef struct {
KeyType key;/* 关键字项*/
OtherType other;/* 其他项*/
}DataType;/* 数据元素类型*/
typedef struct {
DataType r[MAXSIZE +1];
/* r[0]闲置或充当哨兵*/
int length;/* 顺序表长度*/
} SqList;/* 顺序表类型*/
一、基本概念
排序的数据结构
排序的稳定性:若存在关键字相同的多个记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;否则则称这种排序方法是不稳定的。
排序的分类:按是否涉及数据的内、外存交换分类:内排序、外排序。
内部排序方法有:插入排序、选择排序、交换排序、归并排序
排序的效率分析:时间代价和空间代价
二、插入排序
基本思想
通过构建有序序列,将待排序的数据,在已排好序的序列中从后向前扫描,找到其相应位置并进行插入操作。
直接插入排序
二分法插入排序
Shell排序
二、插入排序
直接插入排序
算法思想: 将待插入子序列元素逐步插入到有序子序列中,设有一待排序序列S={r1,r2,r3,…,ri,…,rn},其中{r1,r2,…,ri}(1≤i≤n)是按照关键字{k1≤k2≤…≤ki}有序的子序列,序列{ ri+1,…,rn } 无序。从序列{ ri+1,…,rn }的第一个元素ri+1开始取数据元素,每取一个元素就将其插入到前面的有序序列中,并使插入后的序列有序,直到所有元素插入完成,得到一个有序序列。
二、插入排序
直接插入排序
算法:
void StraightInsertSort(SqList *S)
{ /* 对顺序表s中的s->r[1..length]作直接插入排序*/
for(i=2;i<=S->length;i++)
{ S->r[0]=S->r[i]; /*复制为哨兵*/
j= i-1;
while (S->r[0].key < S->r[j].key)
{ S->r[j+1]=S->r[j];
j-- ;
} /*记录后移*/
S->r[j+1]=S->r[0]; /*插入到正确位置*/
}
}
能不能
改为<=?
二、插入排序
直接插入排序
效率分析:
空间效率:用了一个辅助单元r[0],因此辅助空间为O(1)
时间效率:
最好情形:待排序序列中各数据元素在排序前已按关键字大小排好序,总的比较次数=n-1次,总的移动次数=n-1次,所以时间复杂度为O(n)
最坏情形:待排序序列中各数据元素为逆序状态时,
直接插入排序是稳定的排序算法
二、插入排序
二分插入排序
算法思想:在插入第i个关键码时,前i-1个关键已经有序,可以通过折半的方式找到插入点。
但是,虽然可以更快地找到插入点,但意义不大?
因为,找到插入点后还需要进行移动元素,并没有改变移动元素的次数,因此其时间复杂度并没有发生改变。

最近更新

摄影棚装修合同书3篇 51页

1981年国内研究生入学试题选载(Ⅱ) 2页

1515—75″布机投梭力配置的初探 2页

10吨工频炉熔炼潜力与经济性的探讨 2页

东风日产PPAP表格 22页

质量审核中不合格项的判定 19页

高速铁路CPⅢ测量标志在建筑变形监测中的应用.. 3页

社会资本在社会创新中的作用-全面剖析 26页

非物质文化遗产的传承开发研究——以丝绸之路.. 3页

闭式循环水系统在空气压缩机的应用 3页

铁路固定资产管理的探讨与探究 3页

详解营销渠道管理与渠道设计 68页

7个方面直观幼儿园的幼小衔接是否成熟可行 2页

透水层水中承台沉井围堰施工技术 4页

大数据应用中的内存优化方法-全面剖析 32页

路桥工程施工中的软土地基处理技术探究 3页

超分子聚乙醇类“固-固相变材料”的研究 3页

财政专项资金预算绩效管理初探 3页

试论作者队伍建设的重要性及途径、方法 3页

记者在新闻采访中的作用及沟通技巧的有效应用.. 3页

西门子技术在棒材轧机改造中的应用 3页

行政事业单位固定资产内部控制问题研究 3页

蔗渣纤维素分离纯化预处理工艺条件优化 3页

苏浙沪三省(市)二氧化碳排放现状与影响因素分.. 3页

2025年度个人住房装修贷款协议 7页

2025年商砼站绿色建材应用合作合同 10页

膜类材料标签产品加工溢胶原因分析 3页

聚丙烯纤维机制砂水泥砂浆早期抗裂性能试验研.. 3页

罗定电厂#2汽轮机#1轴瓦温度高的原因分析 3页

综采工作面液压支架回撤技术应用 3页