1. 希尔排序算法思想
希尔排序(Shell Sort)基本思想:
将整个序列切按照一定的间隔取值划分为若干个子序列,每个子序列分别进行插入排序。然后逐渐缩小间隔进行下一轮划分子序列和对子序列进行插入排序。直至最后一轮排序间隔为
1
,对整个序列进行插入排序。
2. 希尔排序算法步骤
- 确定一个元素间隔数
gap
。 - 将参加排序的序列按此间隔数从第
1
个元素开始一次分成若干个子序列,即分别将所有位置相隔为gap
的元素视为一个子序列。 - 在各个子序列中采用某种排序算法(例如插入排序算法)进行排序。
- 减少间隔数,并重新将整个序列按新的间隔数分成若干个子序列,再分别对各个子序列进行排序。依次类推,直到间隔数
gap = 1
,排序结束。