希尔排序算法图解,实现希尔排序

  希尔排序算法图解,实现希尔排序

  概念

  Hill排序是insert排序的最佳版本,也称为reducing incremental sort。将列表分成N组,比较每组中对应元素的大小,交换位置。

  原理分析

  1.在一个表中列出数组,将数组分别插入到排序中,并重复这个过程,但每次使用更长的列。

  2.将数组转换成表的目的是为了更好地理解这个算法。算法本身仍然使用数组进行排序。

  实例

  defshll_sort(列表):

  n=len(列表)

  Gap=n//2#定义初始步长,它应该是一个整数,否则下面的for循环将报告一个错误 float objectcannotbeinerteretedasainer。

  Whilegap0:# insert按步长排序

  foriinrange(gap,n):

  j=i

  whilej=gapandalist列表

  列表[j-gap],列表[j]=列表[j],列表[j-gap]

  j=j-间隙

  Gap=gap//2#获得新的步长。注意上面的缩进while是python Hill排序的原理。希望对你有帮助。更多python学习方向:Python基础课程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: