国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-16 11:02:04
字體:
來源:轉載
供稿:網友

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

希爾排序是插入排序的擴展,通過允許非相鄰的元素進行交換來提高執行效率。希爾排序最關鍵的是選擇步長,本程序選用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//=3if __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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枣强县| 洪江市| 镇康县| 舒兰市| 安阳市| 曲水县| 石阡县| 隆尧县| 东辽县| 保德县| 平和县| 华宁县| 大港区| 肥西县| 武穴市| 虞城县| 讷河市| 长丰县| 桦川县| 济源市| 布拖县| 双流县| 郎溪县| 隆昌县| 青州市| 顺义区| 洛扎县| 河北区| 板桥市| 黎城县| 滦南县| 运城市| 喀喇| 囊谦县| 平武县| 神农架林区| 大连市| 衡南县| 昭觉县| 吉首市| 临澧县|