python实现希尔排序
来源:互联网 发布:淘宝哪家店的檀香靠谱 编辑:程序博客网 时间:2024/06/07 19:47
希尔排序也叫缩小增量排序,是直接插入排序的一种高效增量版本
希尔排序是把记录按下标的一定增量进行分组,对每组使用直接插入排序:随着增量逐渐减小,每组包含的关键词越来越多,当增量减至为1时,整个文件恰被分成一组,算法便终止。
希尔排序过程
将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一列了。将数组转换至表是为了更好地描述算法,算法本身还是对数组进行排序
实现
def shell_sort(alist): n = len(alist) # 初始步长 gap = n/2 while gap > 0: # 按步长进行插入排序 for i in range(gap,n): j = i # 插入排序 while j>=gap and alist[j-gap]>alist[j]: alist[j-gap],alist[j] = alist[j],alist[j-gap] j -= gap # 得到新的步长 gap = gap / 2
阅读全文
0 0
- 希尔排序--Python实现
- python实现希尔排序
- 希尔排序 Python实现
- python实现希尔排序
- 希尔排序Python实现
- Python实现希尔排序
- python实现希尔排序
- 希尔排序的Python实现
- 希尔排序算法 Python实现
- 尝试使用python实现希尔排序算法
- 用python实现希尔排序(shell_sort)
- [排序] 希尔排序(Python)
- 排序算法—希尔排序算法分析与实现(Python)
- 八大排序算法 Java、Python、C++实现 -- 希尔排序
- 八大排序之希尔排序算法-python实现
- [Python-*-算法]希尔排序
- Python 希尔排序
- Python 希尔排序
- Eclipse创建Maven父子项目
- 【1024】因子计算
- Linux下更改SSH端口
- Centos搭建Nginx图片缓存服务器
- input只允许输入数字或者浮点数
- python实现希尔排序
- Tomcat启动Spring提示'dataSource' or 'jdbcTemplate' is required
- Android学习笔记之Service应用
- ArcGIS 10.1中的Desktop连接ArcSDE——以Oracle为例
- Python数据交互之json、pickle、shelve
- Mocha测试框架
- Tomcat(8005,8080,8009)端口占用解决方法
- 文件系统 HDU1413
- C基础 const volatile等