希尔排序法
来源:互联网 发布:泰州网络推广 编辑:程序博客网 时间:2024/06/02 23:01
一. 希尔排序基本思想:
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。该方法实质上是一种分组插入方法。
二. 算法思想简单描述:
在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想。算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。
三. 给定实例的shell排序的排序过程(C#实现):
- 【排序】希尔排序法
- 希尔排序法
- 希尔排序法
- 希尔排序法
- 希尔排序法
- 希尔排序法
- 希尔排序法
- [算法]希尔排序法
- 希尔排序法优化
- 希尔排序法
- 希尔排序法
- 希尔排序法
- 希尔排序法1
- 希尔排序法
- 希尔排序法基本思想
- 希尔排序(分组插入法)
- 数据结构-算法: 插入排序(希尔排序法)
- 数据结构-算法: 插入排序(希尔排序法)
- [Eclipse] Eclipse 的原理
- spring 开发中
- 基于JSR82的蓝牙应用开发手记
- extern "C" 与 __stdcall使用
- ASP.NET中引用dll“找不到指定模块"的完美解决办法
- 希尔排序法
- 取出目录下面所有.java的文件
- hw去年上机题2
- [算法] 人工智能Java 坦克机器人系列
- vi 语法高亮
- 执行shell脚本中declare: not found
- winform DataGridView实现用shift多选checkbox
- Golden Gate
- Hibernate3错误:could not initialize proxy – no Session的解决办法