您现在的位置是:主页 > news > 品牌网站案例/腾讯网网站网址

品牌网站案例/腾讯网网站网址

admin2025/6/7 19:31:26news

简介品牌网站案例,腾讯网网站网址,北京市城乡建设管理委员会官方网站,市场调研ppt前言概念介绍希尔排序是基于插入排序算法的一种更高效的改进版本它是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越少,当增量减少至1时,整个文件恰被分成一组。…

品牌网站案例,腾讯网网站网址,北京市城乡建设管理委员会官方网站,市场调研ppt前言概念介绍希尔排序是基于插入排序算法的一种更高效的改进版本它是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越少,当增量减少至1时,整个文件恰被分成一组。…

前言

37b5643fa4ac7dc08ec03f8bcdd2616b.png
42d0e0f5daed227d38289f293f6623f1.png
76173376437d64617e40fbd248d0f28e.png
a6cedbc5da60a80d753ed3e8097ec2f1.png
41e9586f22f2942c78c37b25d2b19d3a.png
71253d0a2ed9c71c54cf274c090ecfa1.png

概念介绍

希尔排序是基于插入排序算法的一种更高效的改进版本它是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越少,当增量减少至1时,整个文件恰被分成一组。此时算法便终止。

原理讲解

以[41 24 34 2 19 17]这个序列为例说明希尔排序算法的实现原理

  1. 未开始遍历时,此时效果如下图
de76ee7348dbf44df0a404ca62bed05e.png
  1. 由上面数组可知,该数组长度为6,我们人为的选择增量为gap=6/2=3,故将整个数组分为3个子数组(颜色相同为一组),分别为[41 2],[24 19],[34 17]。效果如下图
9e9b9d8166b6e82a005d3b2dd5e512ba.png
  1. 第一次遍历时(增量为3),我们分别对三个子数组进行插入排序,插入排序后3个子数组变为[2 41],[19 24],[17 34]。效果如下图
b4b96aa227017a298ea12bce5345138a.png
  1. 第二次遍历时(增量为1),我们对整个数组[2 19 17 41 24 34]进行插入排序,插入排序后效果如下图
c664f6da69b303e7e52e13de73b2161a.png
  1. 至此,希尔排序原理讲解完毕。

时间复杂度

由希尔排序的过程可知,该算法的时间复杂度和增量有很大关系。

  1. 如果增量为1,此时希尔排序就是插入排序;
  2. 如果增量为Hibbard增量,此时希尔排序算法则明显有别于插入排序;

所以根据时间复杂度的概念

  1. 当增量为1时希尔排序算法的时间复杂度为O(N^2);
  2. 当增量为Hibbard增量时希尔排序算法的时间复杂度为O(N^3/2);(这个留着有兴趣的同学自行证明)

空间复杂度

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的度量。由于希尔排序算法前后占用空间大小不变,由空间复杂度含义可知,该算法空间复杂度为O(1)

算法优缺点

  • 优点:速度快;移动次数少
  • 缺点:不稳定;增量选择不定,只能根据数据量靠经验选取

效果展示

4d3a201e495ce383f7c86515e7328d00.gif

更多算法学习请关注我的公众号

我是多米学算法,努力写出小白也能看懂学会的算法文章。如果你对算法也感兴趣,那快快和我一起学习吧微信公众号:多米学算法