• 技术文章 >Python技术 >Python基础教程

    python希尔排序的使用原理

    小妮浅浅小妮浅浅2021-08-09 10:05:38原创1987

    概念

    希尔排序是插入排序的最佳版本,也称为减少增量排序。把列表分成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计数排序法是什么 下一篇:python归并排序是什么

    相关文章推荐

    • await在python协程函数的使用• python Task如何在协程调用• python统计字符串字符出现次数• python输入身份证号输出出生年月• python计数排序法是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网