Upgrade to Pro — share decks privately, control downloads, hide ads and more …

test1_20111005_1_a.pdf

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for chunnan_hung chunnan_hung
October 24, 2011
60

 test1_20111005_1_a.pdf

Avatar for chunnan_hung

chunnan_hung

October 24, 2011

Transcript

  1. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  2. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  3. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  4. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  5. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  6. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  7. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  8. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  9. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  10. . . . . . . . . 1. 是非題

    (20 分)。 ⃝ 代表正確、 × 代替錯誤, △ 代 表不確定,每題答對得 2 分、答錯倒扣 2 分、填 △ 可 得 0.5 分。 a. ⃝一個演算法一定都會有輸出結果。 b. ×n! = O(5n)。 c. ⃝若 f(n) = Θ(g(n)) 則 g(n) = Ω(f(n))。 d. ×C++ 的 class 中之 constructor 與 destructor 都不能有參數。 e. ⃝邏輯上,陣列的元素一定都儲存在連續的記憶體位置上。 f. ×n2.1 + n2 log n = O(n2 log n)。 g. ⃝The worst case of binary search for n elements is Θ(logn). h. × ∑n i=1 i2 = Θ(n2)。 i. ⃝稀疏矩陣 (sparse matrix) 與稀疏多項式 (sparse polynomial) 的儲存方式都是只存非零的項目。 j. ⃝selection sort 做 n 筆資料的排序時間複雜度為 Θ(n2)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 1 / 10
  11. . . . . . . . . 2. (10

    分) 請問下列 C 語言的函式,用 f(5) 呼叫,傳回 的值是多少? long f(int n) { if (n <= 1) return 1; return n + 2*f(n-1); } f(1) = 1, f(2) = 2 + 2 × 1 = 4, f(3) = 3 + 2 × 4 = 11, f(4) = 4 + 2 × 11 = 26, f(5) = 5 + 2 × 26 = 57 57 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 2 / 10
  12. . . . . . . . . 3. (10

    分) 請證明下列式子是正確的。 a. 3n2 + 30n = O(n2) ∀n ≥ 1, 3n2 + 30n ≤ 33n2,所以 3n2 + 30n = O(n2)。 b. 3n − 10n2 = Ω(3n) ∀n ≥ 6, 3n − 10n2 ≥ 1 2 3n,所以 3n − 10n2 = Ω(3n)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 3 / 10
  13. . . . . . . . . 3. (10

    分) 請證明下列式子是正確的。 a. 3n2 + 30n = O(n2) ∀n ≥ 1, 3n2 + 30n ≤ 33n2,所以 3n2 + 30n = O(n2)。 b. 3n − 10n2 = Ω(3n) ∀n ≥ 6, 3n − 10n2 ≥ 1 2 3n,所以 3n − 10n2 = Ω(3n)。 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 3 / 10
  14. . . . . . . . . 4. (10

    分) 請證明下列式子是錯誤的。 a. n2 − 30n = Θ(n3) ∀C > 0, ∃n > 1 C , n2 < C · n3, n2 − 30n < C · n3, 所以 n2 − 30n ̸= Θ(n3) b. 4n2 + n log n = O(n log n) 假設 log n 是以 e 為底。 ∀C > 0, ∃n > e4 C , en > nC 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 > 1 C , n2 < C · n3, n2 − 30n < C · n3, 所以 n2 − 30n ̸= Θ(n3) b. 4n2 + n log n = O(n log n) 假設 log n 是以 e 為底。 ∀C > 0, ∃n > e4 C , en > nC 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
  16. . . . . . . . . 5. (10

    分) 下列程式片斷的時間複雜度是多少?請用 Θ 與 n1, n2, n3 表示。其中 A, B, C 是夠大的二維陣列。 int i, j, k; for(i = 0;i < n1;i++) for(j = 0;j < n2;j++) { C[i][j] = 0; for(j = 0;j < n2;j++) C[i][j] += A[i][k] * B[k][j]; } 答案:Θ(n1 · n2) 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 5 / 10
  17. . . . . . . . . 6. (20

    分) 請寫下下列 5 × 6 的 sparse matrix 的轉置矩 陣 (transpose),照 FastTranspose 的演算法,請計算 RowSize 與 RowStart 的值,並寫下最後轉置矩陣的結 果。 row column value A[0] 0 1 3 A[1] 0 5 9 A[2] 1 0 -5 A[3] 1 3 15 A[4] 2 4 1 A[5] 3 2 10 A[6] 4 0 8 A[7] 4 2 -3 A[8] 4 3 21 position 0 1 2 3 4 5 RowSize 2 1 2 2 1 1 RowStart 0 2 3 5 7 8 row column value A[0] 0 1 -5 A[1] 0 4 8 A[2] 1 0 3 A[3] 2 3 10 A[4] 2 4 -3 A[5] 3 1 15 A[6] 3 4 21 A[7] 4 2 1 A[8] 5 0 9 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 6 / 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
  25. . . . . . . . . 10. 這學期資料結構的課程中

    . . . 1 請問您在 iCourse 的使用上有什麼問題或改進的建議。(3 分) . . . 2 請問您在寫程式時是否遇到什麼困難與問題。(3 分) . . . 3 請問網路帶給您最大的幫助與最大的阻礙是什麼?(2 分) 洪春男 資料結構平常測驗一 ( 20111006) October 13, 2011 10 / 10