图示经典算法--希尔排序
来源:互联网 发布:js获取input的value值 编辑:程序博客网 时间:2024/05/22 08:24
希尔排序
希尔排序是插入排序的一种。
- 确定排序间隔h
- 按照间隔h对数组排序,保证间隔为h的元素是有序的
- 缩小h值,再对间隔h数组排序,直到h为1
def shell_sort(a): n = len(a) h = 1 while h < n // 3: # 计算间隔 h = 3 * h + 1 # 1, 4, 13 while h >= 1: # 缩小间隔值 for i in range(h, n): # 使用间隔h排序,保证间隔为h的元素是有序的 j = i while j >= h and a[j] < a[j - h]: a[j], a[j - h] = a[j - h], a[j] j -= h h = h // 3
查看交换步骤
查看比较和交换步骤
0 0
- 图示经典算法--希尔排序
- 图示经典算法--选择排序
- 图示经典算法--插入排序
- 图示经典算法--快速排序
- 经典算法--希尔排序
- 经典算法之希尔排序
- 【经典排序算法】插入排序、希尔排序
- 经典排序算法 - 希尔排序Shell sort
- 经典算法排序——希尔排序
- 经典排序算法 - 希尔排序Shell sort
- 经典排序算法 - 希尔排序Shell sort
- 经典排序算法之希尔排序
- 经典排序算法之希尔排序
- 经典排序算法之一:希尔排序
- 经典排序算法之:希尔排序
- 经典排序算法 - 希尔排序Shell sort
- 【经典算法】:希尔排序的实现
- 经典算法学习——希尔排序
- 1006 最长公共子序列Lcs
- 转载http://www.yinwang.org/blog-cn/2013/03/07/linux-windows-mac
- linux源码Makefile的详细分析
- iOS开发 - 卡片堆叠效果
- 有关SAP中的批次管理
- 图示经典算法--希尔排序
- 找出出现次数超过数组一半元素的数
- 头指针与头节点的区别
- 第五周项目1:三角形类雏形(3)
- 归并排序(mergeSort)
- POJ2135 Farm Tour 无向图最小费用流
- 根据excel中数据拚SQL
- 集合概述
- JpGraph统计图