当前位置: 首页 > 图灵资讯 > 行业资讯> python希尔排序的使用原理

python希尔排序的使用原理

来源:图灵python
时间: 2024-07-25 20:26:57

概念

希尔排名是插入排名的最佳版本,也被称为减少增量排名。将列表分成n组,比较每组对应元素的大小和交换位置。

原理分析

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

2、将数组转换成表格是为了更好地理解算法,算法本身仍然由数组排序。

实例

defshll_sort(alist):
n=len(alist)
gap=n//2#定义初始步长,取整数,否则,以下for循环将报告错误'float'objectcannotbeinterpretedasaninteger
whilegap>0:#按步长插入排序
foriinrange(gap,n):
j=i
whilej>=gapandalist[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电脑。