希尔排序算法示例:详细步骤及每趟排序结果

本文以一个具体实例来演示希尔排序算法的步骤,并展示每趟排序后的结果。

初始记录: (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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录