Issuu on Google+

一、選擇題(共十題 每題三分 30%) 1. ( C ) 有一整數三維陣列 int A[0…29, 0..19,0…9],則此陣列共佔多少位元組 (假設整數資料型態佔 2 位元組)? (A) 600 bytes (B)1200 bytes (C)12000 bytes (D)120000 bytes 2. ( B )時間複雜度何者效率最差? (A) O(n2) (B) O(2n) (C) O(nlogn) (D) O(n3) 3. ( D )若一個程式計算頻率為 2 n3+3 n2 +5 則時間複雜度為何?(A) O(n2) (B) O(2n) (C) O(nlogn) (D) O(n3) 4. ( A )請判斷以下二維陣列何者為 Row-major? (A) A[3,6] 的位址=4,A[5,4] 的 位址=60 (B) A[3,2] 的位址=4,A[2,6] 的位址=60 (C) A[3,3] 的位址 =4,A[5,5] 的位址=60 (D) A[2,4] 的位址=4,A[3,6] 的位址=60 5. ( C )一個空堆疊經過了 Push(1), Push(2), Push(3),Pop,Pop, Push(4),請問由上 而下的堆疊順序為?(A) 1234 (B) 4321 (C) 41 (D) 14 6. ( A )對於用了三個元素的陣列,連續 Push 三筆資料後,再繼續 Push 一筆資 料後會? (A) 失敗,不能再 Push 資料進去 (B) 將第一筆資料 Pop(C) 將第二筆 資料 Pop (D) 將第三筆資料 Pop 7. ( C )宣告 A[N] 的陣列,陣列中總共有 N 個元素,則佇列溢滿(Full)的狀態 為以下何種情況 (A)Front=Rear =N (B) Rear = N (C)Rear = N-1 (D)Front = Rear = -1 8. ( D )宣告 A[N] 的陣列,陣列中總共有 N 個元素,則佇列空的(Empty)狀 態為以下何種情況 (A)Front=Rear =N (B) Rear = N (C)Rear = N-1 (D)Front = Rear = -1 9. ( C )有一鏈結串列為下圖,若要加入新節點 R 資料在 P、Q 之間,下列何 者應優先執行? (A)R=Q (B) R=P >link(D) p->link=R

(C) RP

>link=pQ

R 10. ( B )若有一個二元樹共有六個節點,請問最低高度為? (A)3 (B)4 (C)5 (D)6 二 計算題 70% 1. 請計算出下面程式時間複雜度 (10%) for (i=0;i<n;i++) for(j=i;j=n;j++) c=c+1

NULL


2.

若一個二維陣列資料如下(10%)

3. 4.

A[2,1]的位址=60 A[4,3]的位址=92 A[5,2]的位址=136 求 A[4,0]的位址=? 104 a=8 d=4 n=6 利用堆疊寫出中序式:(A+B)*(C+D)-E 的後序式轉化過程(10%) 請將下列森林轉成一棵二元樹(10%)

G

G

H I

C B D

E J

J


K L M A B D E 5.

6.

I

H

C F

M

某二元樹之前序及中序走訪順序為:中序:F I

DBGH

LCE JAK 後序:I F D H G B J E K A C L ,請畫出此二元樹之圖形。(10%) 架設有一空環形佇列,實施下列動作後其結果為?(請直接將結果、 front、rear 畫在下圖中) (10%)

Add A、Add C,D,E,F、Delete、Delete、 G,H,I,J

B、Delete、Add Delete、Delete、Add

2

3

1

4

0

5

7 7.

L

K

6

請利用下表索引值畫 1

2

3

出二元樹(10%) 4

5

7

10

15

20

21


A

B

C

D

E

F

H

G

Q

P


資料結構期中考