司法三等申論題
111年
[檢察事務官電子資訊組] 程式語言
第 三 題
三、若有一個遞迴函數如下:
Procedure FIB(n)
if n=0, FIB=0;
if n=1, FIB=1;
else FIB(n-1)+FIB(n-2)
end if
end
試問 FIB(4)之值為多少?在計算 FIB(4)值時,需要呼叫此 FIB(n)函數多少次。(25 分)
📝 此題為申論題
思路引導 VIP
面對遞迴函式的追蹤題,應優先利用「遞迴呼叫樹(Recursive Call Tree)」將執行過程視覺化。這不僅能確保計算數值的正確性,更能精準算出函式呼叫的總次數,同時應聯想遞迴在記憶體堆疊(Stack)中的啟動紀錄(Activation Record)運作機制以增加作答深度。
🤖
AI 詳解
AI 專屬家教
【解題思路】利用畫出遞迴呼叫樹(Recursive Call Tree)的方式,由上而下展開每一次的函數呼叫,既能求出最終數值,也可精確計算呼叫總次數。同時須了解遞迴在記憶體堆疊(Stack)中的運作原理以展現學理深度。 【詳解】 一、學術定義與記憶體機制
▼ 還有更多解析內容