農會 資訊管理類電腦概論110 年第 24 題單選題
執行遞迴函數時,使用到的資料結構為
Astack正確答案
Btree
Cqueue
Darray
A正確答案
遞迴函式的底層執行依賴「堆疊 (Stack)」來儲存每次呼叫的區域變數與返回位址,確保能正確返回。
為什麼答案是 A
堆疊具有後進先出 (LIFO) 特性,完美對應遞迴函式「最後呼叫的最先結束」的執行與返回順序。
考點:堆疊與遞迴考點:樹狀結構考點:佇列特性考點:陣列與堆疊
載入中…
完整詳解
Pro · 無限重點 遞迴函式的底層執行依賴「堆疊 (Stack)」來儲存每次呼叫的區域變數與返回位址,確保能正確返回。
看到「遞迴 (Recursion)」直接聯想「堆疊 (Stack)」!系統用 Stack 的後進先出特性記錄函式呼叫順序。
逐選項分析
A堆疊與遞迴✓ 正確
堆疊具有後進先出 (LIFO) 特性,完美對應遞迴函式「最後呼叫的最先結束」的執行與返回順序。
B樹狀結構✕ 陷阱
樹狀結構常用於表示階層關係(如檔案目錄),並非系統執行遞迴時用來管理呼叫狀態的底層資料結構。
C佇列特性✕
佇列具有先進先出 (FIFO) 特性,常用於作業系統排程或廣度優先搜尋,不適用於遞迴的返回順序。
D陣列與堆疊✕
陣列是連續記憶體的線性結構,雖然堆疊底層可用陣列實作,但「堆疊」才是描述其運作邏輯的準確名稱。
Stack 與 Queue 核心特性對照
| 資料結構 | 存取原則 | 常見應用場景 |
|---|
| Stack (堆疊) | 後進先出 (LIFO) | 遞迴呼叫、還原/重做 (Undo/Redo) |
| Queue (佇列) | 先進先出 (FIFO) | 印表機排程、廣度優先搜尋 (BFS) |
考生常因為遞迴演演算法經常用來遍歷「樹 (Tree)」結構,而直覺誤選 Tree。但題目問的是「系統執行遞迴時底層依賴的資料結構」,必須選 Stack (呼叫堆疊)。