数据结构--希尔排序

目录

希尔排序的定义

给一个序列进行希尔排序

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

3.适用性

知识点回顾


希尔排序的定义

给一个序列进行希尔排序

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

相距为4的子表

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

得到结果是

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

相距为2的子表

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

第二趟得到结果是

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

第三趟的子表

第三趟子表排序后的结果

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

不稳定

3.适用性

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

知识点回顾

相关推荐
2401_832131951 天前
模板错误消息优化
开发语言·c++·算法
金枪不摆鳍1 天前
算法--二叉搜索树
数据结构·c++·算法
近津薪荼1 天前
优选算法——双指针6(单调性)
c++·学习·算法
向哆哆1 天前
画栈 · 跨端画师接稿平台:基于 Flutter × OpenHarmony 的整体设计与数据结构解析
数据结构·flutter·开源·鸿蒙·openharmony·开源鸿蒙
helloworldandy1 天前
高性能图像处理库
开发语言·c++·算法
2401_836563181 天前
C++中的枚举类高级用法
开发语言·c++·算法
bantinghy1 天前
Nginx基础加权轮询负载均衡算法
服务器·算法·nginx·负载均衡
chao1898441 天前
矢量拟合算法在网络参数有理式拟合中的应用
开发语言·算法
代码无bug抓狂人1 天前
动态规划(附带入门例题)
c语言·算法·动态规划
weixin_445402301 天前
C++中的命令模式变体
开发语言·c++·算法