- 1
- 0
- 约1.54万字
- 约 79页
- 2019-05-06 发布于广东
- 举报
概述 插入排序 交换排序 选择排序 归并排序 基数排序 各种内排方法比较 概 述 排序:将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。 数据表(datalist): 它是待排序数据对象的有限集合。 主关键字(key): 数据对象有多个属性域, 即多个数据成员组成, 其中有一个属性域可用来区分对象, 作为排序依据,称为关键字。也称为关键字。 排序方法的稳定性: 如果在对象序列中有两 个对象r[i]和r[j], 它们的关键字 k[i] == k[j] , 且在排序之前, 对象r[i]排在r[j]前面。如果在排序之后, 对象r[i]仍在对象r[j]的前面, 则称这个排序方法是稳定的, 否则称这个排序方法是不稳定的。 内排序与外排序: 内排序是指在排序期间数据对象全部存放在内存的排序;外排序是指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。 排序的时间开销: 排序的时间开销是衡量算法好坏的最重要的标志。排序的时间开销可用算法执行中的数据比较次数与数据移动次数来衡量。 typedef struct { int key ; datatype other ; } rectype; rectype R[n]; 内排序分类 依不同原则 插入排序、交换排序、选择排序、归并排序、和基数排序等。 依所须工作量 简单排序---时间复杂度o(n2) 先进排序方法---时间复杂度o(n logn) 基数排序---时间复杂度o(d.n) 插入排序 (Insert Sorting) 基本思想 当插入第i (i ? 1) 个对象时, 前面的R[0], R[1], …, R[i-1]已经排好序。这时, 用R[i]的关键字与R[i-1], R[i-2], …的关键字顺序进行比较, 找到插入位置即将R[i]插入, 原来位置上的对象向后顺移。 算法分析 设待排序对象个数为 n, 则该算法的主程序执行n-1趟。 关键字比较次数和对象移动次数与对象关键字的初始排列有关。 最好情况下, 排序前对象已按关键字从小到大有序, 每趟只需与前面有序对象序列的最后一个对象比较1次, 移动2次对象, 总的关键字比较次数为 n-1, 对象移动次数为 2(n-1)。 最坏情况下, 第 i 趟时第 i 个对象必须与前面 i 个对象都做关键字比较, 并且每做1次比较就要做1次数据移动。则总关键字比较次数KCN和对象移动次数RMN分别为 在平均情况下的关键字比较次数和对象移动次数约为 n2/4。因此,直接插入排序的时间复杂度为 o(n2)。 直接插入排序是一种稳定的排序方法。 折半插入排序 (Binary Insertsort) 基本思想 设在顺序表中有一 个对象序列 R[0], R[1], …, R[n-1]。其中, R[0], R[1], …, R[i-1] 是已经排好序的对象。在插入R[i] 时, 利用折半搜索法寻找R[i] 的插入位置。 折半插入排序 折半搜索比顺序搜索查找快, 所以折半插入排序就平均性能来说比直接插入排序要快。 它所需的关键字比较次数与待排序对象序列的初始排列无关, 仅依赖于对象个数。在插入第 i 个对象时, 需要经过 ?log2i? +1 次关键字比较, 才能确定它应插入的位置。因此, 将 n 个对象(为推导方便, 设为 n=2k )用折半插入排序所进行的关键字比较次数为: 当 n 较大时, 总关键字比较次数比直接插入排序的最坏情况要好得多, 但比其最好情况要差。 在对象的初始排列已经按关键字排好序或接近有序时, 直接插入排序比折半插入排序执行的关键字比较次数要少。折半插入排序的对象移动次数与直接插入排序相同, 依赖于对象的初始排列。 折半插入排序是一个稳定的排序方法。 折半插入排序的时间复杂度为o(n2)。 希尔排序 (Shell Sort) 基本思想设待排序对象序列有 n 个对象, 首先取一个整数 gap n 作为间隔, 将全部对象分为 gap 个子序列, 所有距离为 gap 的对象放在同一个子序列中, 在每一个子序列中分别施行直接插入排序。然后缩小间隔 gap, 例如取 gap = ?gap/2?,重复上述的子序列划分和排序工作。直到最后取 gap == 1, 将所有对象放在同一个序列中排序为止。 希尔排序方法又称为缩小增量排序。 交换排序 ( Exchange Sort ) 基本方法设待排序对象序列中的对象个数为n。一般地,第i趟起泡排序从1到n-i+1依次比较相邻两个记录地关键字,如果发生逆序,则交换之,其结果是这n-i+1个记录中,关键字最大的记录被交换到第n-i+1的位置上,最多作
您可能关注的文档
- 安顺学院教育科学学院发展心理学课件第五章 婴儿的心理发展.ppt
- 安顺学院教育科学学院学前儿童心理学课件 学前儿童心理学.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第七章 机械工艺理论和技术的发展.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第二章 机械加工精度及其控制.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第六章 机床夹具设计.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第三章 机械加工表面质量及其控制.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第五章 机器装配工艺过程设计.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第一章 绪论.ppt
- 安阳工学院机械工程学院汽车服务工程课件第二章 汽车服务系统理论.ppt
- 安阳工学院机械工程学院汽车服务工程课件第九章 汽车物流.ppt
- 2026湖南张家界桑植县第一季度县直事业单位选调工作人员9人备考题库及一套参考答案详解.docx
- 中医医院综合楼建设项目可行性研究报告建议书.doc
- 2026湖南张家界桑植县第一季度县直事业单位选调工作人员9人备考题库及1套完整答案详解.docx
- 2026医疗质量工作计划.docx
- 2026年学校宣传专员工作计划范文.docx
- 5.4 5、4、3、2 加几▶ 多种方法计算 5、4、3、2 加几.pptx
- 2025至2030中国结构绝缘板行业运营态势与投资前景调查研究报告.docx
- 2026湖南张家界桑植县第一季度县直事业单位选调工作人员9人备考题库及一套完整答案详解.docx
- 2026湖南张家界桑植县第一季度县直事业单位选调工作人员9人备考题库及参考答案详解1套.docx
- 2026年学校宣传专员工作计划模版.docx
最近下载
- 一把手 2025年度在带头强化政治忠诚、提高政治能力;在带头固本培元、增强党性;在带头敬畏人民、敬畏组织、敬畏法纪;在带头干事创业、担当作为;在带头坚决扛起管党治党责任五个带头方面存在的问题.docx VIP
- 四川成都农业科技中心招聘真题2024.docx VIP
- 四库全书基本概念系列文库:韵略汇通.pdf VIP
- 元气森林外星人电解质水校园圈层营销方案.pptx VIP
- 中国儿童社交技能评估量表(儿童).docx VIP
- 成都农业科技中心招聘考试真题2024.docx VIP
- 《新媒体翻译(校企)》课程教学大纲(本科).docx VIP
- 《新媒体翻译(校企)》课程教学大纲(本科).pdf VIP
- 2024年成都农业科技中心招聘考试真题.pdf VIP
- 简论在象牙门与兽角门的交叉路口追寻道德要义.doc VIP
原创力文档

文档评论(0)