数据结构--希尔排序

目录

希尔排序的定义

给一个序列进行希尔排序

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

3.适用性

知识点回顾


希尔排序的定义

给一个序列进行希尔排序

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

相距为4的子表

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

得到结果是

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

相距为2的子表

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

第二趟得到结果是

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

第三趟的子表

第三趟子表排序后的结果

希尔排序的算法实现

算法性能分析

1.时间复杂度

2.稳定性

不稳定

3.适用性

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

知识点回顾

相关推荐
张李浩7 小时前
Leetcode 054螺旋矩阵 采用方向数组解决
算法·leetcode·矩阵
big_rabbit05027 小时前
[算法][力扣101]对称二叉树
数据结构·算法·leetcode
WolfGang0073217 小时前
代码随想录算法训练营 Day11 | 二叉树 part01
数据结构
美好的事情能不能发生在我身上7 小时前
Hot100中的:贪心专题
java·数据结构·算法
2301_821700537 小时前
C++编译期多态实现
开发语言·c++·算法
xixihaha13248 小时前
C++与FPGA协同设计
开发语言·c++·算法
小小怪7508 小时前
C++中的函数式编程
开发语言·c++·算法
xixixiLucky8 小时前
编程入门算法题---小明爬楼梯求爬n层台阶一共多少种方法
算法
剑锋所指,所向披靡!9 小时前
数据结构之线性表
数据结构·算法
m0_6727033111 小时前
上机练习第49天
数据结构·算法