一、算法分析 (一)时间效率——排序速度(比较 & 移动) (二)空间效率——占内存辅助空间大小 (三)稳定性——A和B关键字相等,排序后先后次序保持不变 二、内部排序:不需要访问外存 (一)插入排序(每一趟:查找位置——记录后移——插入位置) 1、直接插入排序(顺序查找) (1)思想:依次将待排序 ...
分类:
其他好文 时间:
2020-07-12 19:08:43
阅读次数:
87
一.知识梳理 若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序 逐步扩大记录的有序序列长度的过程 外部排序 插入 交换 选择归并 分配 排序算法效率的评价指标:时间效率 空间效率 稳定性 ( A和B的关键字相等,排序后A、B的先后次序保持不变) ?直接插入排序(基于顺序查找) 从R[ ...
分类:
其他好文 时间:
2020-07-12 19:04:26
阅读次数:
67
本章学习了排序这一操作,排序方法分为两大类: 内部排序:不需要访问外存,分为插入类、交换类、选择类、归并类(2-路归并排序)和分配类(基数排序)。 外部排序:不可能在内存中完成。 (一)插入排序 1、直接插入排序 稳定排序,更适合于初始记录基本有序(正序)的情况 1 void InsertSort( ...
分类:
其他好文 时间:
2020-07-12 18:58:36
阅读次数:
54
一、本章知识思维导图 二、第八章知识小结 1. 插入排序 (1) 直接插入排序 对于待排序列中的元素,在已排序列中顺序查找插入位置,将待排元素插入并移动。 (2)折半插入排序 基于直接插入排序,查找插入位置使用折半查找。 (3)希尔排序 将间隔步长d1的两个元素分为一组,组内进行直接插入排序;第二趟 ...
分类:
其他好文 时间:
2020-07-12 18:50:39
阅读次数:
52
希尔排序:也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的:1,插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;2,但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位; 希 ...
分类:
编程语言 时间:
2020-07-12 16:46:28
阅读次数:
67
一、插入排序 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、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