数据结构.题目练习.插入排序.考研复习.面试算法练习



0. 目录

8. 排序

8.1 插入排序

8.1.1 直接插入排序

给出关键字序列​​{4,5,1,2,6,3}​​的直接插入过程.

下面将推荐网站 ​VisualGo​ 演示这个过程->
数据结构之题目练习八(一.插入排序)_排序算法
数据结构之题目练习八(一.插入排序)_直接插入排序_02
数据结构之题目练习八(一.插入排序)_初始序列_03
数据结构之题目练习八(一.插入排序)_排序算法_04
数据结构之题目练习八(一.插入排序)_初始序列_05
所以根据上图,我们形象的可以看到,解题的过程:

初始序列:4 5 1 2 6 3
第1趟:4 5 1 2 6 3
第2趟:1 4 5 2 6 3
第3趟:1 2 4 5 6 3
第4趟:1 2 4 5 6 3
第5趟:1 2 3 4 5 6

2给出关键字序列​​{50,26,38,70,90,8,3,30,40,20}​​的希尔排序过程(取增量序列为d={5,3,1},排序结果为从小到大排列.

这里我们直接看结题过程:

初始序列:50 26 38 80 70 / 90 8 30 40 20 (步长为5,用线隔开便于比较观察)
第1趟:50 8 30 / 40 20 90 / 26 38 80 / 70
(下一轮步长为3,注意对比每个区间划分区域相同位置的元素,例如50,40,26,70)
第2趟:26 8 30 / 40 20 80 / 50 38 90 / 70
第3趟:8 20 26 30 38 40 50 70 80 90