shell排序_Python排序算法(五)希尔排序
生活随笔
收集整理的這篇文章主要介紹了
shell排序_Python排序算法(五)希尔排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. 核心思想
希爾排序(shell_Sort),也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。基本思想:先將整個待排序的記錄序列分割成為若干子序列分別進行直接插入排序,待整個序列中的記錄"基本有序"時,再對全體記錄進行依次直接插入排序。
二. 代碼實現
def shellSort(arr): n = len(arr) gap = int(n / 2) while gap > 0: for i in range(gap, n): temp = arr[i] j = i while j >= gap and arr[j - gap] > temp: arr[j] = arr[j - gap] j -= gap arr[j] = temp gap = int(gap / 2) return arrarr = [64, 34, 25, 12, 22, 11, 90]b = shellSort(arr)print(b)三.?性能
不穩定排序
時間復雜度:O(n1.3)
空間復雜度:O(1)
每日一句:有時候,你得停一下腳步,等一等心靈??
覺得有用點這里???
總結
以上是生活随笔為你收集整理的shell排序_Python排序算法(五)希尔排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女子住酒店被毒蛇咬伤 酒店拒担全责有啥能
- 下一篇: python怎么读取word文件_pyt