概况

在研究希尔排序前,要先理清插入排序

插入排序


  • 希尔排序(Shell’s Sort)是插入排序的一种,又称“缩小增量排序”(Diminishing Increment Sort).
  • 希尔排序是直接插入排序算法的一种更高效的改进版本.
  • 希尔排序是非稳定排序算法.
  • 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。

具体算法

  • 一般情况下,初次取序列的一半为增量,以后每次减半,直到增量为1.
1
2
3
4
5
6
7
8
st=>start: 开始
op=>operation: My Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
&