当前位置:演示动画制作 » 行业资讯 » 正 文

希尔排序算法的每一个步骤和过程

2023年12月4日 来源:上海艺虎动画公司

第一步:分组

希尔排序算法先将要排序的数列分成若干子序列,而每个子序列中的元素并不是连续的。通俗的说,就是将数组划分为多个子数组,每个子数组看做一个列表,然后对子数组进行插入排序。

下面是希尔排序分组的动画演示。

https://blog-cdn-image.qiniu.bclouds.com/sort-heapsort-part-two.gif

可以看到,数组中间数隔了一个 h 的距离活着称为「增量」,对这多组数据分别进行插入排序。等第一轮排序结束后,再去处理下一轮分为的数据分组,依次执行该过程,直到h = 1 ,也就是最后一次执行插入排序。

第二步:插入排序

上述提到了,对于每个分组,都应该进行插入排序。插入排序是将一个记录插入到已经排好的有序表中,从而形成一个新的有序表。

下面是希尔排序插入排序的动画演示。

https://www.runoob.com/wp-content/uploads/2019/03/shellSort.gif

可以看到,先将最大或最小的元素交换位置。等基于当前增量的所有子序列中的数据排序完成后,增量变小再进行下一轮排序,重复上述操作。

第三步:回归原样

当分组的间距为 1 时,整个序列就成了有序序列,算法结束。这时排序过程中所有未排序部分都已经有序,只剩下增量为1时的序列未排序。

下面是希尔排序结合插入排序的动画演示。

https://www.runoob.com/wp-content/uploads/2019/03/shellSort.gif

在这个动画中,排序开始前,第一个数列按照偏移量 10 进行了插入排序。排序结束时,每个子序列都变得逐渐有序,直到最后一个序列变为完全有序。

总之,希尔排序可以有效提高排序运行效率,而动画演示则是更加形象地展示希尔排序算法的每一个步骤和过程。

艺虎动态
+ 关于艺虎
+ 作品展示
+ 服务流程
承接项目
产品演示ppt动画制作
产品演示动画
工业安全生产产品演示动画制作
企业产品宣传片动画制作
机械产品演示动画制作
flash产品动画制作
二维产品演示动画制作
三维产品演示动画