14. . 4. (10 分) 請證明下列式子是錯誤的。
a. n2 − 30n = Θ(n3 )
∀C > 0, ∃n > C , n2 < C · n3 , n2 − 30n < C · n3 , 所以
1
n 2 − 30n ̸= Θ(n3 )
b. 4n2 + n log n = O(n log n)
4 C
假設 log n 是以 e 為底。 ∀C > 0, ∃n > e C , en > n 4 ,
4n > C · log n, 4n2 > C · n log n, 4n2 + n log n > C · n log n, 所以
4n2 + n log n ̸= O(n log n)。
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 4 / 10
15. . 4. (10 分) 請證明下列式子是錯誤的。
a. n2 − 30n = Θ(n3 )
∀C > 0, ∃n > C , n2 < C · n3 , n2 − 30n < C · n3 , 所以
1
n 2 − 30n ̸= Θ(n3 )
b. 4n2 + n log n = O(n log n)
4 C
假設 log n 是以 e 為底。 ∀C > 0, ∃n > e C , en > n 4 ,
4n > C · log n, 4n2 > C · n log n, 4n2 + n log n > C · n log n, 所以
4n2 + n log n ̸= O(n log n)。
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 4 / 10
18. 7. (10 分) 請寫下一個函數,傳入兩個整數參數 m 與
( )
. n,假設 m > n,傳回 m 的值。
n
int Cmn(int m, int n){
if((m == n) || (n == 0))
return 1;
return Cmn(m-1, n) + Cmn(m-1, n-1);
}
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 7 / 10
19. . 8. (10 分) 請簡單解釋下列名詞的意思
a. dynamic memory allocation: 動態記憶體配置,程式執行過程
中會增加或減少所使用的記憶體量。
b. function overloading: 函數重載,可以定義多個相同名稱的函
數。
c. data encapsulation : 資料封裝,可透過類別成員的存取權限,
達到規格與實做分離的效果。
d. implementation: 實做,將方法或理念實際做出來。
e. specification: 規格,說明每個資料結構提供哪些功能 (不包含
怎麼做哦!)
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 8 / 10
20. . 8. (10 分) 請簡單解釋下列名詞的意思
a. dynamic memory allocation: 動態記憶體配置,程式執行過程
中會增加或減少所使用的記憶體量。
b. function overloading: 函數重載,可以定義多個相同名稱的函
數。
c. data encapsulation : 資料封裝,可透過類別成員的存取權限,
達到規格與實做分離的效果。
d. implementation: 實做,將方法或理念實際做出來。
e. specification: 規格,說明每個資料結構提供哪些功能 (不包含
怎麼做哦!)
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 8 / 10
21. . 8. (10 分) 請簡單解釋下列名詞的意思
a. dynamic memory allocation: 動態記憶體配置,程式執行過程
中會增加或減少所使用的記憶體量。
b. function overloading: 函數重載,可以定義多個相同名稱的函
數。
c. data encapsulation : 資料封裝,可透過類別成員的存取權限,
達到規格與實做分離的效果。
d. implementation: 實做,將方法或理念實際做出來。
e. specification: 規格,說明每個資料結構提供哪些功能 (不包含
怎麼做哦!)
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 8 / 10
22. . 8. (10 分) 請簡單解釋下列名詞的意思
a. dynamic memory allocation: 動態記憶體配置,程式執行過程
中會增加或減少所使用的記憶體量。
b. function overloading: 函數重載,可以定義多個相同名稱的函
數。
c. data encapsulation : 資料封裝,可透過類別成員的存取權限,
達到規格與實做分離的效果。
d. implementation: 實做,將方法或理念實際做出來。
e. specification: 規格,說明每個資料結構提供哪些功能 (不包含
怎麼做哦!)
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 8 / 10
23. . 8. (10 分) 請簡單解釋下列名詞的意思
a. dynamic memory allocation: 動態記憶體配置,程式執行過程
中會增加或減少所使用的記憶體量。
b. function overloading: 函數重載,可以定義多個相同名稱的函
數。
c. data encapsulation : 資料封裝,可透過類別成員的存取權限,
達到規格與實做分離的效果。
d. implementation: 實做,將方法或理念實際做出來。
e. specification: 規格,說明每個資料結構提供哪些功能 (不包含
怎麼做哦!)
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 8 / 10
24. 9. (5 分) 請問下列英文的中文大意。
.
A matrix is a mathematical object that arises in many physical
problems. As computer scientists, we are interested in studying
ways to represent matrices so that the operations to be performed
on them can be carried out efficiently. A general matrix consists of
m rows and n columns of numbers.
一個矩陣是一個在許多實際問題中出現的數學物件,對於電腦科
學家來說,我們有興趣的部份在於研究如何表示矩陣,以至於其
運算能夠很有效率地執行,一般的矩陣由 m 列與 n 行的數字所
組成。
. . . . . .
洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 9 / 10