数据结构--希尔排序

目录

希尔排序的定义 

给一个序列进行希尔排序 

 希尔排序的算法实现

 算法性能分析

1.时间复杂度

2.稳定性 

3.适用性 

知识点回顾


希尔排序的定义 

数据结构--希尔排序_第1张图片

数据结构--希尔排序_第2张图片 

给一个序列进行希尔排序 

 数据结构--希尔排序_第3张图片

第一趟d可以是元素个数/2

相距为4的子表

数据结构--希尔排序_第4张图片 

对子表进行直接插入排序(由小到大)

数据结构--希尔排序_第5张图片 

 

得到结果是

数据结构--希尔排序_第6张图片 

第二趟相距为2的元素为一组

数据结构--希尔排序_第7张图片 

 相距为2的子表

数据结构--希尔排序_第8张图片 

对子表进行直接插入排序(由小到大) 

数据结构--希尔排序_第9张图片

第二趟得到结果是

数据结构--希尔排序_第10张图片 

第三趟d=1,相距为1的元素为子表,正好就是所有的元素,整个表已经呈现出“基本有序”,对整体在进行一次“直接插入排序”

 第三趟的子表

 

第三趟子表排序后的结果

数据结构--希尔排序_第11张图片 

 希尔排序的算法实现

数据结构--希尔排序_第12张图片 

 算法性能分析

1.时间复杂度

 

2.稳定性 

不稳定

数据结构--希尔排序_第13张图片

3.适用性 

仅适合于顺序表,不适用于链表

知识点回顾

数据结构--希尔排序_第14张图片

你可能感兴趣的:(数据结构,排序算法,算法)