数据结构--希尔排序

目录

希尔排序的定义

给一个序列进行希尔排序

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

3.适用性

知识点回顾


希尔排序的定义

给一个序列进行希尔排序

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

相距为4的子表

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

得到结果是

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

相距为2的子表

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

第二趟得到结果是

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

第三趟的子表

第三趟子表排序后的结果

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

不稳定

3.适用性

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

知识点回顾

相关推荐
城事漫游Molly7 分钟前
AI 快速生成标准化问卷分析报告:从 SUS 到 UMUX-LITE,如何把“分数”写成“结论”
人工智能·算法·机器学习·论文笔记·科研统计·问卷设计
人道领域12 分钟前
【LeetCode刷题日记】617.合并二叉树(空间换安全,还是原地省内存)
java·数据结构·算法·leetcode
独自破碎E16 分钟前
机器人Java后端算法笔试题解析
java·windows·算法
运筹vivo@19 分钟前
3043. 最长公共前缀的长度(Leetcode 每日一题)
c++·算法·leetcode·职场和发展·每日一题
心中有国也有家11 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
绝知此事11 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
碧海银沙音频科技研究院11 小时前
通话AEC与语音识别AEC的软硬回采链路
深度学习·算法·语音识别
csdn_aspnet12 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
LuminousCPP12 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习