数据结构--希尔排序

目录

希尔排序的定义

给一个序列进行希尔排序

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

3.适用性

知识点回顾


希尔排序的定义

给一个序列进行希尔排序

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

相距为4的子表

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

得到结果是

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

相距为2的子表

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

第二趟得到结果是

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

第三趟的子表

第三趟子表排序后的结果

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

不稳定

3.适用性

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

知识点回顾

相关推荐
All for pursuit.1 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_307779132 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂2 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
光影少年2 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
HEJOO92 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
Code_Solitude3 小时前
c语言:递归
java·c语言·算法
程序员清风3 小时前
哈希表:从键值映射到高效查找
数据结构·哈希算法·散列表
edtoplort4 小时前
OpenAI紧急叫停GPT-6.1 Astra训练,奥尔特曼为何踩刹车
人工智能·gpt·算法
蒜香可达鸭4 小时前
让视频生成流水线跑不崩:一个事件溯源的多 Agent 可靠执行框架
算法
小羊没烦恼!4 小时前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#