数据结构--希尔排序

目录

希尔排序的定义

给一个序列进行希尔排序

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

3.适用性

知识点回顾


希尔排序的定义

给一个序列进行希尔排序

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

相距为4的子表

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

得到结果是

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

相距为2的子表

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

第二趟得到结果是

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

第三趟的子表

第三趟子表排序后的结果

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

不稳定

3.适用性

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

知识点回顾

相关推荐
尽兴-9 分钟前
JVM垃圾收集器与三色标记算法详解
java·jvm·算法·cms·gc·g1·三色标记算法
沐欣工作室_lvyiyi10 分钟前
IIR数字带通滤波器(论文+源码)
算法·matlab·毕业设计·数字滤波器
zh_xuan11 分钟前
LeeCode 61. 旋转链表
数据结构·c++·算法·leetcode·链表
tobias.b12 分钟前
408真题解析-2010-8-数据结构-拓扑排序
数据结构·算法·计算机考研·408真题解析
源代码•宸21 分钟前
Golang原理剖析(彻底理解Go语言栈内存/堆内存、Go内存管理)
经验分享·后端·算法·面试·golang·span·mheap
黎子越24 分钟前
python循环相关联系
开发语言·python·算法
myloveasuka24 分钟前
汉明编码的最小距离、汉明距离
服务器·数据库·笔记·算法·计算机组成原理
沛沛rh4524 分钟前
Rust浮点数完全指南:从基础到实战避坑
深度学习·算法·计算机视觉·rust
云深处@30 分钟前
二叉搜索树
数据结构·c++
近津薪荼34 分钟前
优选算法——双指针1(数组分块)
c++·学习·算法