您现在的位置是:课程教程文章
python希尔排序的使用原理
2023-12-14 21:11课程教程文章 人已围观
-
python自动化体验课程【飞软学院】
python自动化体验课程【飞软学院】课程特点: 全程实战:零距离接触真实企业实战,杜绝demo和纸上谈兵 高效精讲... -
通信原理(全35讲)【理工学社】
通信原理(全35讲)【理工学社】本课程着眼于加强基本概念的讲解,在增强数学分析严谨性的同时适量简化数学... -
Python网络爬虫基础与实战
Python网络爬虫基础与实战蜗牛学院-专注中高端IT教育培训,只为成就更好的你! 咨询QQ:1964006600 电话:... -
大厂面试重灾区——JVM实战与并发原理详
大厂面试重灾区——JVM实战与并发原理详本次课程是直播课程,报名之后记得一定要加【阿媛老师】微信,拉你进微信群...
概念
希尔排序是插入排序的最佳版本,也称为减少增量排序。把列表分成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归并排序是什么
下一篇:没有了