欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python排序搜索基本算法之希爾排序?qū)嵗治?/h1>
 更新時(shí)間:2017年12月09日 11:28:47   作者:littlethunder  
這篇文章主要介紹了Python排序搜索基本算法之希爾排序,簡(jiǎn)單說(shuō)明了希爾排序的原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)希爾排序的具體操作技巧,需要的朋友可以參考下

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

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

#-*- 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("腳本之家測(cè)試結(jié)果:")
  seq=[8,6,4,9,7,3,2,-4,0,-100,99]
  shellSort(seq)
  print(seq)

運(yùn)行結(jié)果:

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

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

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

    Python描述符descriptor使用原理解析

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

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

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

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

    這篇文章主要給大家介紹了關(guān)于Python接入MySQL實(shí)現(xiàn)增刪改查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python獲取excel內(nèi)容及相關(guān)操作代碼實(shí)例

    Python獲取excel內(nèi)容及相關(guān)操作代碼實(shí)例

    這篇文章主要介紹了Python獲取excel內(nèi)容及相關(guān)操作代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python面向?qū)ο蟪绦蛟O(shè)計(jì)多繼承和多態(tài)用法示例

    Python面向?qū)ο蟪绦蛟O(shè)計(jì)多繼承和多態(tài)用法示例

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)多繼承和多態(tài)用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中多繼承、多態(tài)的概念、原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • 在python3.64中安裝pyinstaller庫(kù)的方法步驟

    在python3.64中安裝pyinstaller庫(kù)的方法步驟

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

    python游戲庫(kù)pygame經(jīng)典教程(推薦!)

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

    12個(gè)Pandas/NumPy中的加速函數(shù)使用總結(jié)

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

    Python連接phoenix的方法示例

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

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

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

最新評(píng)論