python培训之希尔排序的使用原理

发布时间:2023-03-07 09:34:52 人气:25 作者:多测师

  python希尔排序的使用原理

  概念

  希尔排序是插入排序的最佳版本,也称为减少增量排序。把列表分成n组,比较各组对应的要素的大小,交换位置。

  原理分析

  1、将数组列在一个表格中,并将数组分别插入排序,重复这个过程,但每一次都要用更长的列。

python培训之希尔排序的使用原理

  2、把数组转换成表格是为了更好地理解这个算法,算法本身还是用数组来排序。

  实例

  def shll_sort(alist):

  n = len(alist)

  gap = n//2 #定义初始步长,要取整数,否则下面for循环会报错'float' object cannot be interpreted as an integer

  while gap>0:#按步长进行插入排序

  for i in range(gap,n):

  j = i

  while j>=gap and alist[j-gap]>alist[j]:

  alist[j-gap],alist[j]=alist[j],alist[j-gap]

  j=j-gap

  gap = gap//2#得到新的步长,注意是在while后面的缩进

  以上就是python希尔排序的使用原理,希望对大家有所帮助。更多Python学习指路:请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线