第八章数据结构
排序定义 将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列叫~ 评价排序算法优劣的标准: 算法的运算量 执行算法所需要的附加存储空间 8.1 插入排序 直接插入排序 基本思想 整个排序过程为n-1趟插入,即先将序列中第1个记录看 成是一个有序子序列,然后从第2个记录开始,逐个进 行插入,直至整个序列有序(把记录逐一按其关键字的 大小插入到已经排好次序的记录序列中) 折半插入排序 排序过程:用折半查找方法确定插入位置的排序叫~ 希尔排序 算法描述 8.2 交换排序 冒泡排序 排序过程 将各记录按纵向排列,对无序区自下而上地比较相邻记录的关键字Kj和Kj-1,若Kj-1Kj,称为逆序,则两者交换位置。再将Kj-1与Kj-2进行比较,如有逆序则交换,一直处理到当前无序区顶部为止。这样,第一趟排序使无序区中最小关键字的记录上升到无序区的顶部。 算法描述 快速排序(分区排序) 基本思想 通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序 排序过程:对r[s……t]中记录进行一趟快速排序,附设两个指针i和j,设控制记录rp=r[s],x=rp.key 初始时令i=s,j=t 首先从j所指位置向前搜索第一个关键字小于x的记录,并和rp交换 再从i所指位置起向后搜索,找到第一个关键字大于x的记录,和rp交换 重复上述两步,直至i==j为止 再分别对两个子序列进行快速排序,直到每个子序列只含有一个记录为止 算法描述 8.3 选择排序 直接选择排序 排序过程 堆排序 堆排序: 将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(大)值后,使剩余的n-1个元素重又建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫~ 8.4 归并排序 归并——将两个或两个以上的有序表组合成一个新的有序表,叫~ 2-路归并排序 排序过程 设初始序列含有n个记录,则可看成n个有序的子序列,每个子序列长度为1 两两合并,得到?n/2?个长度为2或1的有序子序列 再两两合并,……如此重复,直至得到一个长度为n的有序序列为止 排序方法的综合比较 性能比较 作 业: P221 1、2、7 8.5 基数排序 多关键字排序 定义: 最低位优先法(LSD):从最低位关键字kd起进行排序,然后再对高一位的关键字排序,……依次重复,直至对最高位关键字k1排序后,便成为一个有序序列 MSD与LSD不同特点 按MSD排序,必须将序列逐层分割成若干子序列,然后对各子序列分别排序 按LSD排序,不必分成子序列,对每个关键字都是整个序列参加排序;并且可不通过关键字比较,而通过若干次分配与收集实现排序 链式基数排序 基数排序:借助“分配”和“收集”对单逻辑关键字进行排序的一种方法 链式基数排序:用链表作存储结构的基数排序 链式基数排序步骤 设置10个队列,f[i]和e[i]分别为第i个队列的头指针和尾指针 第一趟分配对最低位关键字(个位)进行,改变记录的指针值,将链表中记录分配至10个链队列中,每个队列记录的关键字的个位相同 第一趟收集是改变所有非空队列的队尾记录的指针域,令其指向下一个非空队列的队头记录,重新将10个队列链成一个链表 重复上述两步,进行第二趟、第三趟分配和收集,分别对十位、百位进行,最后得到一个有序序列 例 初始关键字: [49] [38] [65] [97] [76] [13] [27] 一趟归并后: [38 49] [65 97] [13 76] [27] 二趟归并后: [38 49 65 97] [13 27 76] 三趟归并后: [13 27 38 49 65 76 97] 算法评价 时间复杂度:T(n)=O(nlog2n) 空间复杂度:S(n)=O(n) 排序分类 按待排序记录所在位置 内部排序:待排序记录存放在内存 外部排序:排序过程中需对外存进行访问的排序 按排序依据原则 插入排序:直接插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序:2-路归并排序 基数排序 基数排序 归并排序 堆排序 快速排序 希尔排序 简单排序 稳定性 辅助空间 平均时
您可能关注的文档
最近下载
- 宁波市离婚协议书(2026简易标准版).docx VIP
- 21.古代诗歌五首《望岳》课件(共22张PPT) 2025-2026学年统编版语文课件七年级下册.pptx VIP
- 口渴了-朋友帮你.ppt VIP
- 二级医院超声质量控制指南.docx VIP
- 2026上半年广西现代物流集团社会招聘、校园招聘笔试模拟试题及答案解析.docx VIP
- 2025年辽宁农业职业技术学院单招《数学》真题(名师推荐)附答案详解.docx VIP
- 膜性肾病治疗.pptx VIP
- 基于收入差异的个人所得税赡养老人专项附加扣除研究.docx VIP
- 2025年-婴幼儿行为观察与指导PPT全套完整教学课件.pptx
- 膜性肾病肾病综合征专家共识解读PPT课件.pptx VIP
原创力文档

文档评论(0)