
代號:6419 
頁次:6
-
2 
 
12 某嵌入式處理器僅具有加法器(adder)與移位器(shifter),而不具備乘法器。欲執行運算 F = A*14,
下列運算方式何者正確? 
F = A<<4    F = (A<<4) + (A<<1) 
F = (A<<4) – (A<<1)    F = (A<<5) – (A<<2) 
13 儲存有 3個關鍵值(keys)之二元樹(binary tree),共有多少種不同形狀? 
5  6  7  8 
14 下列之無向圖(undirected graph)中,共有多少個不同的生成樹(spanning trees)? 
 
 
 
 
 
 
 
6  8  9  12 
15 假設我們欲將數列[15, 9, 7, 21]由小到大排序,並且採用插入排序(insertion sort)演算法,則第一步
會改變數列順序的動作,以及所形成的數列,分別為下列何者? 
將7插到 9之前,得到數列[15, 7, 9, 21]  將7插到 15 之前,得到數列[7, 15, 9, 21] 
將9插到 15 之前,得到數列[9, 15, 7, 21]  將21 插到 7之前,得到數列[15, 9, 21, 7] 
16 若A = 3, B = 5, C = 6, D = 48, E = 2,則下列 prefix 運算式的值為何? 
-*+ABC/DE 
16  24  48  72 
17 陣列的資料結構最適合於下列那種應用? 
資料大小固定不變的資料集合 資料結構經常變動的資料集合 
資料大小不斷變動的資料集合 資料經常刪除與增加的資料集合 
18 假設佇列的最初組態是:a、b、c、d(a在前端)。若要得到 d、c、b、a(d在前端)的最後組態,
至少需要: 
2次刪除與 3次插入  3次插入與 2次刪除 
3次刪除與 3次插入  2次刪除與 4次插入 
19 下列那一種資料結構(data structure)最適合用來實作程式語言中的遞迴呼叫(recursive call)? 
單向鏈結串列(singly-linked list) 雙向鏈結串列(doubly-linked list) 
堆疊(stack)  佇列(queue) 
20 以一陣列 A實作最大二元堆積(Max Binary Heap),一般方法為以 A[1] 代表根節點(Root),A[i]
代表堆積中的某一個節點及儲存其數值,而 A[2i] 和A[2i+1] 分別為 A[i] 所代表的節點之左子節點
(Left Child)及右子節點(Right Child)。若目前堆積共有九個數字,且其對應的陣列之值 A[1], A[2], ...
依序為 18, 10, 13, 8, 7, 5, 2, 4, 6,則在提取最大值(Extract Max)後,A[3] 之值為何? 
5 6 8 13 
a 
c
 
d
e
f
g