41作業系統在執行遞迴(Recursive)時須使用的資料結構為何?
(A)連結串列(linked list)
(B)樹狀結構(tree structure)
(C)佇列(queue)
(D)堆疊(stack)
答案:登入後查看
統計: A(31), B(14), C(68), D(206), E(0) #1403070
統計: A(31), B(14), C(68), D(206), E(0) #1403070
詳解 (共 2 筆)
#3344018
當程式遇到 recursive call 時,必須保存當時的執行狀態;即 push 需要保存的內容到 stack memory 中
由於 Stack 空間有限,若又不斷 push 的話就會爆掉,造成所謂的「Stack Overflow」:
Recursive 所需的 Stack 空間= (每次 push 的量) * (recursive call 次數) 。
Push/Pop 執行的時間即是一個損耗,所以 Recursive 相當花時間
時間複雜度為 nO(2n)
經典題型:最大公因數 (GCD)、費波納契數列 (Fibonacci Sequence)、河內塔 (Hanoi Tower)、N 個字元的排列組合。
2
0