数据结构--希尔排序

目录

希尔排序的定义

给一个序列进行希尔排序

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

3.适用性

知识点回顾


希尔排序的定义

给一个序列进行希尔排序

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

相距为4的子表

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

得到结果是

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

相距为2的子表

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

第二趟得到结果是

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

第三趟的子表

第三趟子表排序后的结果

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

不稳定

3.适用性

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

知识点回顾

相关推荐
D e re k ZH9 小时前
P5025 [SNOI2017] 炸弹
c++·算法
A boy CDEF girl9 小时前
算法题专栏:优选算法
数据结构·算法·leetcode
没落之王9 小时前
三易五行看宋朝的三界确立
大数据·人工智能·算法
坤坤子吖10 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
Js.Tx11 小时前
【具体数学 Concrete Mathematics】2.1.5 一般性的方法
算法·具体数学
秋天的怀念_David13 小时前
算法一千零一夜 · 作品相关:版权与致谢声明
程序人生·算法·学习方法
图灵-M13 小时前
【数据结构】静态 & 动态顺序表
c语言·数据结构·笔记
揽星河..13 小时前
【C语言】数组
c语言·开发语言·算法
careathers13 小时前
【数据结构】基于比较的排序算法 - 选择排序
数据结构·算法·排序算法
听风若依13 小时前
C++模板初阶
c++·算法