
年公務、關務人員升官等考試、
年交通
事業郵政、公路、港務人員升資考試試題
等 級:薦任
類科(別):資訊處理
科 目:資料結構
考試時間 :2小時 座號:
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號:
頁次:
-
一、一般常用的算術運算式(Arithmetic Expression)有:中序運算式(Infix
Expression)、前序運算式(Prefix Expression)、後序運算式(Postfix
Expression)三種表示法,請回答下列問題:
考慮中序運算式
,請說明其前序與後序運算式
分別為何?(8分)
請說明為何中序運算式需要使用括號來輔助界定運算元的優先順序
而前序與後序運算式則無需括號?(7分)
請說明如何利用一個堆疊(Stack)結構計算出一個後序運算式的值,
並以後序運算式 a b ×c+d c /−為例,其中 a= 3, b= 5, c= 2, d= 6,
請逐步列出運算過程中堆疊的內容。(10 分)
二、以下是關於二元搜尋樹(Binary Search Tree)的問題:
請說明二元搜尋樹的定義?(5分)
是否可以使用一個二元搜尋樹對鍵值(Key)來進行排序(Sorting)?
如果不行,請解釋其原因。若可以,請描述作法及執行時間。(5分)
AVL 樹是一個基於二元搜尋樹的資料結構,請敘述 AVL 樹的定義
並說明為何一個有 n個節點(鍵值)的 AVL 樹其高度是 O(log n)。
(5分)
若將鍵值 36、25、14、27、55、30 以依序加入的方式建構一個 AVL
樹,請繪出每次加入後的 AVL 樹。(10 分)