创新互联Python教程:python希尔排序的使用原理

概念

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

原理分析

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

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学习指路:创新互联python教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。


当前标题:创新互联Python教程:python希尔排序的使用原理
文章位置:http://bzwzjz.com/article/djdphsg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 成都网站制作 H5网站制作 成都网站建设 高端网站设计 成都网站建设 成都网站建设 成都网站设计 手机网站建设套餐 成都营销网站制作 成都定制网站建设 成都营销网站建设 app网站建设 成都商城网站建设 高端定制网站设计 成都网站建设 营销网站建设 网站建设方案 成都网站设计公司 成都网站建设 成都网站建设 网站制作