民國105年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第6題

有一整數序列26 , 59 , 77 , 31 , 51 , 11 , 19 , 42 以M e r g e S o r t 由小而大排序,第一階段( P a…

題目

有一整數序列26 , 59 , 77 , 31 , 51 , 11 , 19 , 42 以M e r g e S o r t 由小而大排序,第一階段( P a s s ) 的合併結果,下列何者是正確的?

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

官方答案

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

解析

合併排序(Merge Sort)採分割再合併的策略,第一階段(Pass)是把相鄰的兩個元素兩兩合併成已排序的小串列:(26,59) 合併後為 26,59;(77,31) 合併後為 31,77;(51,11) 合併後為 11,51;(19,42) 合併後為 19,42。依原位置串接即得 26,59,31,77,11,51,19,42。選項 1 的序列已完全由小到大排序,那是後續多階段合併完成後的結果,不是第一階段;其餘選項的兩兩合併結果與上述不符。

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

官方資料