Python 排序算法:希尔排序
来源于 菜鸟教程Python 排序算法:希尔排序
原理
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。
希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录 “基本有序” 时,再对全体记录进行依次直接插入排序。
代码
def shell_sort(arr):
gap = (n := len(arr)) // 2
while gap:
for i in range(gap, n):
temp = arr
while i >= gap and arr > temp:
arr = arr
i -= gap
arr = temp
gap //= 2
nums =
print(f"排序前:{nums}")
shell_sort(nums)
print(f"排序后:{nums}") 还真出了~ qiuyouzhi 发表于 2020-3-22 20:38
还真出了~
{:10_256:}{:10_256:}{:10_256:}
还打算出插入排序{:10_256:} zltzlt 发表于 2020-3-22 20:40
还打算出插入排序
好啊
我就吃吃瓜了
页:
[1]