一. 核心思想
希尔排序(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)
每日一句:有时候,你得停一下脚步,等一等心灵❤️
觉得有用点这里???