首页 > 试题广场 >

现有一个待排序的数组a={6, 5, 4, 3, 2, 1,

[单选题]
现有一个待排序的数组a={6, 5, 4, 3, 2, 1, 8, 8},完成最终归并排序(升序)的前一步的结果为()。
  • 2, 1, 8, 86, 5, 4, 3
  • 3, 4, 5, 61, 2, 8, 8
  • 1, 2, 3, 4, 5, 6, 8, 8
  • 6, 5, 4, 3, 2, 1, 8, 8
归并排序的核心是 “分治 + 合并”。对于数组 \(a = \{6, 5, 4, 3, 2, 1, 8, 8\}\),步骤如下:
  1. 分割:不断把数组分成两半,直到每个子数组只有 1 个元素:
    • 第一组:\(\{6\}, \{5\}, \{4\}, \{3\}, \{2\}, \{1\}, \{8\}, \{8\}\)
  2. 合并(前几步)
    • 合并相邻两个子数组:\(\{5,6\}, \{3,4\}, \{1,2\}, \{8,8\}\)
    • 继续合并相邻组:\(\{3,4,5,6\}, \{1,2,8,8\}\)(这就是 “最终归并前一步” 的结果)。
  3. 最终合并:将 \(\{3,4,5,6\}\) 和 \(\{1,2,8,8\}\) 合并为 \(\{1,2,3,4,5,6,8,8\}\)
发表于 2025-11-16 00:19:10 回复(0)