14. 下列何者是最適合用來實作「遞迴」運算的資料結構?
(A) 佇列(Queue)
(B) 鏈結串列(Linked List)
(C) 陣列(Array)
(D) 堆疊(Stack)

答案:登入後查看
統計: A(1), B(6), C(4), D(30), E(0) #3447881

詳解 (共 1 筆)

#6443770

在電腦科學中,「遞迴」(Recursion)是指一個函式或過程在執行過程中呼叫其自身。遞迴的實現底層機制是透過一種特定的資料結構來管理每次函式呼叫的狀態,這個資料結構就是堆疊(Stack)

  • 當一個函式被呼叫時,它的相關資訊(如區域變數、參數值以及呼叫完成後應返回的記憶體位址)會被「推入」(push)到一個稱為「呼叫堆疊」(Call Stack)的區域。
  • 當被呼叫的函式執行完畢並返回時,堆疊頂部的資訊會被「彈出」(pop),然後程式流程會返回到堆疊中儲存的呼叫點。
  • 遞迴的特性是「後進先出」(Last-In, First-Out, LIFO),也就是說,最後被呼叫的函式會最先完成並返回。這種 LIFO 的行為與堆疊的運作方式完全吻合。

讓我們分析其他選項:

  • (A) 佇列 (Queue):佇列是「先進先出」(First-In, First-Out, FIFO)的資料結構,不適合管理遞迴呼叫的狀態。
  • (B) 鏈結串列 (Linked List):鏈結串列是一種動態資料結構,可以用來實現堆疊或佇列,但它本身不是直接用於遞迴運算的資料結構。
  • (C) 陣列 (Array):陣列是靜態或動態大小的連續記憶體區塊,也可以用來實現堆疊或佇列,但陣列本身不具備遞迴所需的 LIFO 管理機制。

因此,最適合用來實作「遞迴」運算的資料結構是堆疊。

The final answer is D

1
0