亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python排序搜索基本算法之希爾排序實例分析

 更新時間:2017年12月09日 11:28:47   作者:littlethunder  
這篇文章主要介紹了Python排序搜索基本算法之希爾排序,簡單說明了希爾排序的原理并結合實例形式分析了Python實現希爾排序的具體操作技巧,需要的朋友可以參考下

本文實例講述了Python排序搜索基本算法之希爾排序。分享給大家供大家參考,具體如下:

希爾排序是插入排序的擴展,通過允許非相鄰的元素進行交換來提高執(zhí)行效率。希爾排序最關鍵的是選擇步長,本程序選用Knuth在1969年提出的步長序列:1 4 13 40 121 364 1093 3280 。。。后一個元素是前一個元素*3+1,非常方便選取,而且效率還不錯。代碼如下:

#-*- coding: UTF-8 -*-
def shellSort(seq):
  length=len(seq)
  inc=0
  while inc<=length/3:
    inc=inc*3+1
  print(inc)
  while inc>=1:
    for i in range(inc,length):
      tmp=seq[i]
      for j in range(i,0,-inc):
        if tmp<seq[j-inc]:
          seq[j]=seq[j-inc]
        else:
          j+=inc
          break
      seq[j-inc]=tmp
    inc//=3
if __name__=='__main__':
  print("腳本之家測試結果:")
  seq=[8,6,4,9,7,3,2,-4,0,-100,99]
  shellSort(seq)
  print(seq)

運行結果:

PS:這里再為大家推薦一款關于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python描述符descriptor使用原理解析

    Python描述符descriptor使用原理解析

    這篇文章主要介紹了Python 描述符descriptor使用原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 基于PyTorch實現EdgeCNN的實戰(zhàn)教程

    基于PyTorch實現EdgeCNN的實戰(zhàn)教程

    本文我們將使用PyTorch來簡易實現一個EdgeCNN,不使用PyG庫,讓新手可以理解如何PyTorch來搭建一個簡易的圖網絡實例demo,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • Python接入MySQL實現增刪改查的實戰(zhàn)記錄

    Python接入MySQL實現增刪改查的實戰(zhàn)記錄

    這篇文章主要給大家介紹了關于Python接入MySQL實現增刪改查的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Python獲取excel內容及相關操作代碼實例

    Python獲取excel內容及相關操作代碼實例

    這篇文章主要介紹了Python獲取excel內容及相關操作代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python面向對象程序設計多繼承和多態(tài)用法示例

    Python面向對象程序設計多繼承和多態(tài)用法示例

    這篇文章主要介紹了Python面向對象程序設計多繼承和多態(tài)用法,結合實例形式分析了Python面向對象程序設計中多繼承、多態(tài)的概念、原理、實現方法及相關操作注意事項,需要的朋友可以參考下
    2019-04-04
  • 在python3.64中安裝pyinstaller庫的方法步驟

    在python3.64中安裝pyinstaller庫的方法步驟

    這篇文章主要介紹了在python3.64中安裝pyinstaller庫的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • python游戲庫pygame經典教程(推薦!)

    python游戲庫pygame經典教程(推薦!)

    Python Pygame是一款專門為開發(fā)和設計 2D 電子游戲而生的軟件包,是入門級游戲開發(fā)庫,下面這篇文章主要給大家介紹了python游戲庫pygame經典教程的相關資料,需要的朋友可以參考下
    2022-12-12
  • 12個Pandas/NumPy中的加速函數使用總結

    12個Pandas/NumPy中的加速函數使用總結

    在本文中,數據和分析工程師?Kunal?Dhariwal?為我們介紹了?12?種?Numpy?和?Pandas?函數,這些高效的函數會令數據分析更為容易、便捷
    2022-09-09
  • Python連接phoenix的方法示例

    Python連接phoenix的方法示例

    這篇文章主要介紹了Python連接phoenix的方法,簡單說明了phoenix的概念、功能并結合具體實例形式分析了Python連接phoenix的相關操作技巧,需要的朋友可以參考下
    2017-09-09
  • python正則表達式re.group()用法

    python正則表達式re.group()用法

    本文主要介紹了python正則表達式re.group()用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論