希尔排序算法示例:详细步骤及每趟排序结果
希尔排序算法示例:详细步骤及每趟排序结果
本文以一个具体实例来演示希尔排序算法的步骤,并展示每趟排序后的结果。
初始记录: (46, 74, 53, 14, 26, 38, 86, 65, 27, 34)
增量序列: {5, 3, 1}
第一趟排序:
- 增量为 5,将记录分为 5 组:
- (46, 38)
- (74, 86)
- (53, 65)
- (14, 27)
- (26, 34)
- 对每组进行直接插入排序,得到:
- (38, 46)
- (74, 86)
- (53, 65)
- (14, 27)
- (26, 34)
- 排序后的序列: (38, 74, 53, 14, 26, 46, 86, 65, 27, 34)
第二趟排序:
- 增量为 3,将记录分为 3 组:
- (38, 14, 27)
- (74, 26, 65)
- (53, 46, 86)
- (34)
- 对每组进行直接插入排序,得到:
- (14, 27, 38)
- (26, 65, 74)
- (46, 53, 86)
- (34)
- 排序后的序列: (14, 27, 38, 26, 65, 74, 46, 53, 86, 34)
第三趟排序:
- 增量为 1,对整个序列进行直接插入排序,最终得到排序后的序列:
- (14, 26, 27, 34, 38, 46, 53, 65, 74, 86)
结论: 通过三趟排序,使用增量序列 {5, 3, 1},希尔排序算法成功地将初始序列排序为 (14, 26, 27, 34, 38, 46, 53, 65, 74, 86)。
原文地址: https://www.cveoy.top/t/topic/oU9H 著作权归作者所有。请勿转载和采集!