【说站】python希尔排序的使用原理
2024-12-07
25
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电脑。
更新于:11天前赞一波!5
相关文章
- 【说站】python输入成绩求平均分
- 【说站】python温度转换代码
- 【说站】python怎么将整数反转输出
- 【说站】python可迭代对象的本质探究
- 【说站】python迭代器的应用场景
- 【说站】python如何创建GUI程序
- 【说站】python数据变换如何实现
- 【说站】python字符串中有哪些方法
- 【说站】python格式字符串是什么
- 【说站】python默认索引是什么
- 【说站】python列表添加和删除的方法
- 【说站】python列表的创建和存放
- 【说站】python序列操作的整理
- 【说站】python列表中sort()参数的使用
- 【说站】python字符串方法format()如何使用
- 【说站】python列表操作符有哪些
- 【说站】python mktime()如何计算时间
- 【说站】python搜索模块如何查询
- 【说站】python如何定义索引模块类
- 【说站】python数据模块类如何定义
文章评论
评论问答