以下為前序追蹤(Preorder Traversal)及後序追蹤(Postorder Traversal)的順序
前序追蹤順序:M, N, I, A, H, B, C, J, G, F, K, L, E, D, Y
後序追蹤順序:A, B, C, H, I, G, F, J, N, E, D, L, Y, K, M
請畫出此二元樹。(10 分)
請寫出此二元樹的中序追蹤(Inorder Traversal)順序。(10 分)
請設計一個遞迴演算法來計算下列平方和的值:
2
2
2
1
2
...
3
2
1
n
i
S
n
i
+
+
+
+
=
= ∑
=
注意:你的演算法可用SQ(n)函數來做平方的計算。(20 分)
1
下列為一個環狀串列(Circular Queue)中加入與刪除一個元素的演算法:
Procedure ADDQ(item,Q,n,front,rear)
rear←(rear+1) mod n
if front=rear then call QUEUE_FULL
Q(rear)←item
end ADDQ
Procedure DELETEQ(item,Q,n,front,rear)
if front=rear then call QUEUE_EMPTY
front←(front+1) mod n
item←Q(front)
end DELETEQ
在演算法ADDQ 中當front=rear 時發生溢位(Overflow),實際上還有一個空間,
請說明為何不使用呢?(5 分)
若欲使用此一空間,則ADDQ 及DELETEQ 應如何改寫,試寫出他們修改後的
ADDQ 及DELETEQ 演算法。(20 分)
有7 個數依序為70、250、180、100、20、190、200。
請將上述資料建成一棵3 次的B-樹(B-tree of order 3)。(15 分)
承上題,將70 從此樹刪除,請畫出刪除後的B-樹。假設一個數被刪除後,
會被其右子樹(right subtree)的最小數取代。(5 分)
A
B
D
H
I
E
F
C
G