一、本章知识思维导图 二、第八章知识小结 1. 插入排序 (1) 直接插入排序 对于待排序列中的元素,在已排序列中顺序查找插入位置,将待排元素插入并移动。 (2)折半插入排序 基于直接插入排序,查找插入位置使用折半查找。 (3)希尔排序 将间隔步长d1的两个元素分为一组,组内进行直接插入排序;第二趟 ...
分类:
其他好文 时间:
2020-07-12 18:50:39
阅读次数:
52
一、插入排序 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 直接插入排序代码实现 1 void InsertSort(SqList &L){ 2 //对顺序表L做直接插入排序 3 for(i=2;i<=L.length;++i) 4 if(L.r[ ...
分类:
其他好文 时间:
2020-07-12 16:45:08
阅读次数:
60
一、本章小结 1.根据时间复杂度的不同,常见的算法可以分为3大类。 1).O(n²) 的排序算法 冒泡排序 简单选择排序 插入排序:直接插入,折半插入 2).O(n log n) 的排序算法 希尔排序 归并排序 快速排序 堆排序 2.根据是否受到待排序对象初始排列影响,可分为 1)受到待排序对象的初 ...
分类:
其他好文 时间:
2020-07-12 14:30:19
阅读次数:
62
排序的概念 排序的方式: 1、插入排序: 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 希尔排序:待排序的关键字基本有序->效率较高 分组插入,先分割(相隔某个增量的记录),对每组进行直接插入排序(不能用于链式结构) 2、交换排序: 冒泡排序:左右 ...
分类:
其他好文 时间:
2020-07-12 12:36:00
阅读次数:
55
排序: (1)内部排序与外部排序 内部排序:指待排序记录全部存放在计算机内存中进行排序的过程 外部排序:指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。 (2)内部排序方法的分类 1、插入类:如交换插入排序、折半插入排序和希尔排序 2、交换类:主要 ...
分类:
其他好文 时间:
2020-07-12 12:33:11
阅读次数:
52
1 概述 2 待排序记录的存储方法 3 排序算法的效率评价指标 4 时间效率 5 排序速度(比较次数与移动次数) 6 空间效率 7 占内存辅助空间的大小 8 稳定性 9 A和B的关键字相同,在排序之后先后顺序保持不变 10 11 内部排序 12 插入排序 13 直接插入排序 14 利用顺序查找 15 ...
分类:
其他好文 时间:
2020-07-12 12:12:05
阅读次数:
72
第八章主要学习了排序方法。而排序方法中我们又主要学习内部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程,可分为插入类、交换类、选择类、归并类和分配类。由于代码效率的评价指标包括时间效率(比较次数与移动次数)、空间效率及稳定性,所以接下来我要一一记录下这些排序类的步骤以及从以上三个方面判断 ...
分类:
其他好文 时间:
2020-07-12 00:38:14
阅读次数:
61
第八章的内容是排序,看上去很简单,实际上它有很多不同的分类。我觉得全章最难的部分就是算法的理解和时间效率(分最好情况和最坏情况)的分析上。 首先排序整体上可以分成两类:内部排序和外部排序。顾名思义,内部排序就是在内存中完成排序,外部排序就是在内存之外借助外存空间进行排序(数据量足够大的时候)。之前学 ...
分类:
其他好文 时间:
2020-07-11 22:40:02
阅读次数:
72
数据结构第八章小结 一、知识点 1、基本概念 排序:按关键字非递增或非递减顺序对一组记录重新排序的操作。 (1)内部排序与外部排序。内部排序:整个排序过程不需要访问外存便能完成外部排序:参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,需要借助外存 (2)排序稳定性 稳定:冒泡排序、插入 ...
分类:
其他好文 时间:
2020-07-11 18:57:28
阅读次数:
45
排序 插入排序: 直接插入排序 时间复杂度O(n^2)(比较n^2/2+移动n^2/2) 折半插入排序:每次通过折半查找法找到插入的位置。这样会比直接插入中使用的顺序查找法快 但时间复杂度仍为O(n^2) 希尔排序:先将待排序列分组,对每组进行直接插入排序,增加数据量重新分组。 是不稳定的排序 交换 ...
分类:
其他好文 时间:
2020-07-11 17:05:56
阅读次数:
68