免費開始練習
高考申論題 113年 [資訊處理] 資料結構

第 二 題

📖 題組:
四、堆疊(Stack)與佇列(Queue)是常見的資料結構,請回答下列問題: (一)利用雙向佇列(Deque)循序輸入 1, 2, 3, 4, 5, 6, 7,請問能否得到 5174236 的輸出排列?並說明其過程或理由。(10 分) (二)若有 1, 2, 3, 4 四個數字要依序 Push 進堆疊,再於任意時間點 Pop 出堆疊,請列出可能的輸出組合。(15 分)
📝 此題為申論題,共 2 小題

小題 (二)

若有 1, 2, 3, 4 四個數字要依序 Push 進堆疊,再於任意時間點 Pop 出堆疊,請列出可能的輸出組合。(15 分)

思路引導 VIP

這是典型的堆疊排列(Stack Permutation)問題。對於 n=4,可能的組合總數符合卡特蘭數 (Catalan Number) $C_4 = rac{1}{n+1} inom{2n}{n} = rac{1}{5} inom{8}{4} = 14$ 種。解題時建議採取系統化的「樹狀列舉」或「排除法」。記住 Stack 的特性是 LIFO,不可能出現「小、大、中」且小的已經在棧底的情況(如 4, 1, 2, 3 是不可能的)。

🤖
AI 詳解
AI 專屬家教

【考點分析】 堆疊 (Stack) 的後進先出 (LIFO) 特性與卡特蘭數應用。 【理論/法規依據】

小題 (一)

利用雙向佇列(Deque)循序輸入 1, 2, 3, 4, 5, 6, 7,請問能否得到 5174236 的輸出排列?並說明其過程或理由。(10 分)

思路引導 VIP

雙向佇列 (Deque) 允許在前端 (Front) 和後端 (Rear) 進行插入和刪除。題目要求按 1-7 順序輸入,目標輸出是 5, 1, 7, 4, 2, 3, 6。解題時要模擬操作過程,若遇到「某個數字被夾在中間且兩端都不是它」的情況,就無法輸出該數字。嘗試模擬每一個輸出的動作。

🤖
AI 詳解
AI 專屬家教

【考點分析】 雙向佇列 (Deque) 的操作特性及其對輸出排列的限制。 【理論/法規依據】

📝 堆疊排列與卡特蘭數
💡 掌握堆疊 LIFO 特性,並利用卡特蘭數驗算合法輸出組合總數。
比較維度 堆疊 (Stack) VS 佇列 (Queue)
存取邏輯 後進先出 (LIFO) 先進先出 (FIFO)
輸出組合數 卡特蘭數 (隨進隨出) 僅 1 種 (循序進出)
限制條件 禁止 $p_k < p_i < p_j$ 必須按輸入順序輸出
💬堆疊因具備「隨時 Pop」的彈性,使其排列組合遠比佇列複雜。
🧠 記憶技巧:卡特蘭 4 變 14;後進先出不跳號(312 禁忌)。
⚠️ 常見陷阱:漏掉特定排列組合(如 1342),或未先用公式計算總數導致少寫卻不自知。
卡特蘭數 (Catalan Number) 雙向佇列 (Deque) 輸出限制 中序運算式轉後序運算式

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

📝 同份考卷的其他題目

查看 113年[資訊處理] 資料結構 全題