民國108年 第2梯次 電腦軟體設計(C++)乙級 學科

第4題

有一整數序列26, 59, 77, 31, 51, 11, 19, 42 以Merge Sort 由小而大排序,第一階段(Pass)的合併結 果,下列何者是正確…

題目

有一整數序列26, 59, 77, 31, 51, 11, 19, 42 以Merge Sort 由小而大排序,第一階段(Pass)的合併結 果,下列何者是正確的?

  1. (1) 31, 51, 11, 42, 26, 77, 59, 19
  2. (2) 26, 59, 31, 77, 11, 51, 19, 42
  3. (3) 11, 19, 26, 31, 42, 59, 51, 77
  4. (4) 26, 11, 19, 31, 51, 59, 77,42

官方答案

(2) 26, 59, 31, 77, 11, 51, 19, 42

解析

合併排序(Merge Sort)採分割後合併的策略,第一階段(Pass)是把相鄰兩個元素兩兩配對,各自排序後合併成長度為 2 的小序列。原序列 26, 59, 77, 31, 51, 11, 19, 42 配對為 (26,59)、(77,31)、(51,11)、(19,42),分別排序得 26,59;31,77;11,51;19,42,串接後為 26, 59, 31, 77, 11, 51, 19, 42,與選項 2 相符。選項 3 已是完全排序的結果,並非第一階段。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料