LONGEPASS
Q209.

一連串的push(推入)與pop(取出)可改變一個序列的順序,例如原始序列為1,2,3,經由push,pop,push,push,pop,pop 操作後,將變成1,3,2 。若原始序列為1,2,3,4,5,6,經由相關操作後,可能產生的序列有那些?

電腦軟體設計共同科目 · 乙級 · Q209

難易度分析

4 / 5

本題採複選形式,要求考生對多個選項逐一模擬堆疊操作過程,必須精確判別每個序列是否符合後進先出原則,且需排除邏輯矛盾的選項,增加了分析複雜度。

正確答案 (複選):①, ②, ③

  • ① 2,1,5,4,3,6:此序列可由 堆疊 (Stack) 的 LIFO (後進先出) 特性達成。操作順序:push(1), push(2), pop→2, pop→1, push(3), push(4), push(5), pop→5, pop→4, pop→3, push(6), pop→6,即可得到 2,1,5,4,3,6。
  • ② 3,2,4,1,6,5:此序列同樣符合 堆疊操作規則。操作順序:push(1), push(2), push(3), pop→3, pop→2, push(4), pop→4, pop→1, push(5), push(6), pop→6, pop→5,即可得到 3,2,4,1,6,5。
  • ③ 3,2,1,6,5,4:此序列為典型的 全部推入後依序彈出 模式。操作順序:push(1), push(2), push(3), pop→3, pop→2, pop→1, push(4), push(5), push(6), pop→6, pop→5, pop→4,即可得到 3,2,1,6,5,4。

錯誤選項解析

  • ④ 1,5,4,6,2,3:此序列無法由堆疊操作產生。當輸出至 1,5,4,6 後,堆疊內剩餘元素由上至下為 3,2,依 LIFO 原則 只能先彈出 3 再彈出 2,故實際可得 1,5,4,6,3,2,而非 1,5,4,6,2,3。
Learning Tip

"本題核心考點為 堆疊 (Stack) 的 LIFO 特性 與 合法輸出序列的判斷。關鍵技巧:依序模擬 push/pop 過程,若某元素需先於堆疊上方的元素彈出,則該序列不可能達成。常見陷阱是忽略堆疊頂端的元素必須優先取出,實務上可使用「當前堆疊內容追蹤法」逐一驗證,避免直覺誤判。"

學員答題分佈

①2,1,5,4,3,60%
②3,2,4,1,6,50%
③3,2,1,6,5,40%
④1,5,4,6,2,30%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目