shell排序_Python排序算法(五)希尔排序
生活随笔
收集整理的這篇文章主要介紹了
shell排序_Python排序算法(五)希尔排序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一. 核心思想
希爾排序(shell_Sort),也稱遞減增量排序算法,是插入排序的一種更高效的改進(jìn)版本?;舅枷?#xff1a;先將整個(gè)待排序的記錄序列分割成為若干子序列分別進(jìn)行直接插入排序,待整個(gè)序列中的記錄"基本有序"時(shí),再對(duì)全體記錄進(jìn)行依次直接插入排序。
二. 代碼實(shí)現(xiàn)
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)三.?性能
不穩(wěn)定排序
時(shí)間復(fù)雜度:O(n1.3)
空間復(fù)雜度:O(1)
每日一句:有時(shí)候,你得停一下腳步,等一等心靈??
覺(jué)得有用點(diǎn)這里???
總結(jié)
以上是生活随笔為你收集整理的shell排序_Python排序算法(五)希尔排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 女子住酒店被毒蛇咬伤 酒店拒担全责有啥能
- 下一篇: 余承东:华为一直引领折叠机市场的发展 新