【資料結構-題庫】陣列

1.陣列是一組變數的集合,而這些變數:
(A) 具有不同的資料型態,並且分散存在記憶體空間
(B) 具有相同的資料型態,並且分散存在記憶體空間
(C) 具有相同的資料型態,並且線性相鄰的存在記憶體空間
(D) 具有不同的資料型態,並且線性相鄰的存在記憶體空間

Answer
C

2.有關陣列下列那一項敘述有誤?

(A)佔用連續記憶體空間

(B)插入或刪除元素非常容易

(C)各元素的資料型態皆相同

(D)支援隨機存取(Random Access)與循序(Sequential Access)

Answer
B

3.存取陣列中的元素時,需指定要存取元素在陣列中的?

(A)記憶體位址

(B)索引編號

(C)元素值

(D)以上皆可

Answer
B

4.在一維陣列中,常使用的運算指令有五種,下列那一種不是?

(A)讀取(Read)

(B)寫入(Write)

(C)複製(Copy)

(D)貼上(Past)

Answer
D

5.在一維陣列中,那一個運算指令執行時,會往後挪一個位置?

(A)讀取(Read)

(B)寫入(Write)

(C)刪除(Delete)

(D)插入(Insert)

Answer
D

6.假設有n個整數利用陣列(Array)儲存,將存放於最前面及最後面的資料印出時,請問所需之時間複雜度以下列何者表示最為適當?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
A

7.假設有一陣列A儲存已排序的n個數字資料,刪除最大數值的資料需多少時間?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
A

8.假設有一陣列A儲存已排序好的資料(a1,a2,…,an),請問下列何者錯誤?

(A)找第k大的資料需要O(log n)

(B)刪除需要O(n)的時間

(C)插入需要O(n)的時間

(D)以上皆非

Answer
B

9.請問在陣列中「讀取」某一元素的時間複雜度為何?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
A

7.請問在陣列中「寫入」某一元素的時間複雜度為何?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
A

8.假設有一陣列A儲存已排序的n個數字資料,請問「插入」某一元素的時間複雜度為何?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
C

 

9.假設有一陣列A儲存已排序的n個數字資料,請問「刪除」某一元素的時間複雜度為何?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
C

 

10.假設有一陣列A陣列的元素內含值欲全部逐一複製到B陣列中,請問時間複雜度為何?

(A)O(1)

(B)O(log n)

(C)O(n)

(D)O(n2)

Answer
C

11. 關於「變數宣告」與「陣列宣告」的敘述,下列何者有誤?

(A) 變數宣告時,會產生不連續的記憶體空間的配置

(B) 變數宣告時,會產生連續的記憶體空間的配置

(C) 陣列宣告時,會產生連續的記憶體空間的配置

(D) 變數宣告時,變數與變數之間都是個別獨立的記憶體空間。

Answer
B

12.在陣列宣告時,如果宣告int A[10];,請問陣列註標的範圍為多少?

(A) A[0]、A[1]、A[2],…,A[10]

(B) A[0]、A[1]、A[2],…,A[9]

(C) A[1]、A[2],…,A[10]

(D) A[1]、A[2],…,A[11]

Answer
B

13.有一整數陣列int A[0…29] ; (假設int資料型態佔用2個位元組),則此陣列共佔多少位元組?
(A) 40

(B) 30

(C) 4

(D) 60

Answer
D

14.陣列A[註標]中,註標不可為:

(A)整數

(B)運算式

(C)變數

(D)字串

Answer
D

【2-3  二維陣列的觀念,以下不在期中考的範圍內】

1.二維陣列宣告int Score[23],陣列中含有多少元素:

(A)2

(B)3

(C)6

(D)12

Answer
C

2.若有一個二維陣列A[1..5][2…3],假設其中存放的每個元素佔2byte,則在記憶體中存放A陣列需要多少bytes?

(A)10

(B)20

(C)30

(D)40

 

 

3.在BASIC 語言中宣告陣列為Dim A(5,6),試問陣列A 中有多少個元素?
(A)42個

(B)36 個

(C)35個

(D)30 個

4.有一整數二維陣列int A[0…29, 0…19]; (假設int資料型態佔用2個位元組), 則此陣列共佔多少位元組?
(A) 20  (B) 30  (C) 600  (D) 1200

 

 

5.執行下列BASIC程式片段時,請問陣列A佔用記憶體多少bytes的儲存空間?

Dim A ( 3 , 4 ) As Double

(A)48  (B)96  (C)80  (D)160

 

 

2-4 多維陣列的觀念

1.有一個整數陣列int Score[3][4][5],假設sizeof(int)=2,請問此陣列共佔多少位元組?  (A) 60 (B) 120 (C) 180 (D) 240

 

 

2.在我們撰寫程式時,不小心時常發生陣列的「subscript out of range」的錯誤訊息時,它是表示程式執行時遇到那一種狀況?

(A) 語法錯誤

(B) 記憶體存取錯誤

(C) 整數的overflow

(D) 整數的underflow

 

 

3.有一個整數陣列int A[8][10][5],假設sizeof(int)=1,請問此陣列共佔多少位元組?

(A) 112 (B) 400 (C) 800 (D) 1600

 

 

2-5 陣列在記憶體中的表示法

1.有一整數陣列int A[0…29]; (假設int資料型態佔用2個位元組),若A[0]在記憶體中的位址為100,則元素A[21] 的起始位址為何?
(A) 84       (B) 100       (C) 120       (D) 142

 

 


2.有一整數陣列int A[0…29]; (假設int資料型態佔用2個位元組),若A[5]在記憶體中的位址為100,則元素A[21] 的起始位址為何?
(A) 16       (B) 21       (C) 132       (D) 142

 

 

3.有一整數二維陣列int A[0…9, 0…9]; 則第二列第五行的儲存位置如何表示?
(A) A[2,5]   (B) A[1,4]    (C) A[3,6]    (D) A[1,5]

 

 

4.若陣列A 之宣告為DIM A(2,3) As Integer,A 之內容如圖所示,執行

Print A(A(1,2)-1,A(2,3)+1)指令後,答案為何?

(A)1  (B)0  (C)3  (D)2

 

 

2-5.1 Row-major(以列為主)

1.假設一個二維陣列A[1…5, 1…6],如果以列為主,則A(3,3)排在第幾個?

(A)13  (B)14  (C)15  (D)16

 

 

2.陣列A共有6列8行資料,以列為主儲存在記憶體中,A[1,1]起始位址為20。假設陣列每份資料佔2個記憶單位,則第3列第6行的位址為何?

(A)62  (B)64  (C)66  (D)68

 

 

3.陣列A共有6列8行資料,以列為主儲存在記憶體中,A[0,0]起始位址為20。假設陣列每份資料佔2個記憶單位,則第3列第6行的位址為何?

 

(A)80  (B)82  (C)84  (D)88

 

 

4.給予一個二維陣列A[-4..3, -3..2],Lo=100, d=1,採用Row-major方式,請計算A[2,2]的位置。

(A)140  (B)141  (C)146  (D)143

 

 

 


2-5.2 Column-major(以行為主)

1.假設一個二維陣列A[1…5, 1…6],如果以行(Column)為主,則A(3,3)排在第幾個?

(A)13  (B)14  (C)15  (D)16

 

 

2.陣列A共有6列8行資料,以行為主儲存在記憶體中,A[1,1]起始位址為20。假設陣列每份資料佔2個記憶單位,則第3列第6行的位址為何?

(A)82  (B)84  (C)86  (D)88

 

 

3.陣列A共有6列8行資料,以行為主儲存在記憶體中,A[0,0]起始位址為20。假設陣列每份資料佔2個記憶單位,則第3列第6行的位址為何?

(A)90  (B)92  (C)94  (D)98

 

 

4.給予一個二維陣列A[-4..3, -3..2],Lo=100, d=1,採用以行為主方式,請計算A[2,2]的位置。

(A)140  (B)141  (C)146  (D)143

 

 

2-6 多項式(polynomials)

1.假設多項式為:f(x)=7X5+5X2+3X+1,請依照指數高低依序儲存係數於一維陣列中,並寫出其內容?
2.假設多項式為:f(x)=7X5+5X2+3X,請儲存非零項次的係數與指數於一維陣列中,並寫出其內容?

 

 

2-7  矩陣(Matrices)

1.關於資料結構中的矩陣單元之敘述,下列何者正確?

(A)矩陣類似二維陣列

(B)矩陣是利用一個m × n陣列來表示

(C)矩陣是由m列(Rows)和n行(Columns)所組成。

(D)以上皆是

 

 

2.下列何者不是資料結構中所探討的矩陣?

(A)矩陣轉置

(B)矩陣相加

(C)矩陣相乘

(D)矩陣相除

 

 

2-7.1 矩陣轉置(Matrix Transposition)

1.假設有一個(m × n)矩陣A,如果將A矩陣轉置為(n × m)的B矩陣時,

其時間複雜度為:

(A) O(m2)

(B) O(m × n )

(C) O(n2)

(D) O(m + n )

  1. 將原矩陣中的行座標元素與列座標元素相互調換,此現象稱為?

(A) 矩陣轉移

(B) 矩陣轉動

(C) 矩陣交換

(D) 矩陣轉置

 

 

3.假設有一個(m × n)矩陣A在轉置之後儲存到B矩陣中,請問在撰寫程式時,其主要的指令為何?(設定i=1~m, j=1~n)

(A) B [j][i] = A [i][j]

(B) A[j][i] = B [i][j]

(C) B [i][j] = A [i][j]

(D) B[j][i] = A[j][i]

 

 

2-7.2 矩陣相加(Matrix Addition)

  1. 將A矩陣內的元素與B矩陣內的元素相加之後,存放到C矩陣,此現象稱為?

(A) 矩陣合併

(B) 矩陣相加

(C) 矩陣結合

(D) 矩陣合成

 

 

  1. 假設A,B都是(m × n)矩陣,則我們可以將A矩陣加上B矩陣以得到一個C矩陣,並且此C矩陣亦為(m × n)矩陣,其主要的指令為何?

(設定i=1~m, j=1~n)

(A) C[i][j] = A[i][j] + B[i][j]

(B) C[i][j] = A[j][i]+B [i][j]

(C) C[i][j] = B [j][j] +A [j][j]

(D) C[i][j] = B[j][i]+A[j][i]

 

 

2-7.3 矩陣相乘(Matrix Multiplication)

1.兩個矩陣A: m×n, B: n×p相乘,其時間複雜度為:
(A) O(n3)     (B) O(mnp)     (C) O(n2)    (D) O(n4)

 

 

  1. 假設想要將A矩陣(m × n)內的元素與B矩陣(n × p)內的元素相乘之後,存放到C矩陣,請問C矩陣要提供「幾列幾行」才能存放呢?

(A) (m × n)

(B) (n × p)

(C) (m × n)

(D) (m × p)

 

 

2-7.4  稀疏矩陣(Sparse Matrix)

1.假設一矩陣A有12(4×3)個元素,其中只有2個非零元素,請問其矩陣的使用率為何?
(A)1/3  (B)1/4  (C)1/5  (D)1/6

 

 

2.假設有一個m×n的整數矩陣,其中有k個非零元素。如果用陣列來儲存這個

稀疏矩陣(Sparse Matrix)的k個非零元素。請問我們需要多少儲存整數的記憶體?

(A)k  (B)2k+1  (C)3(k+1)  (D)4k

 

 

3.假設有一個m×n的整數矩陣,其中有2個非零元素。如果用陣列來儲存這個

稀疏矩陣(Sparse Matrix)的2個非零元素。請問我們需要多少儲存整數的記憶體?

(A)2  (B)5  (C)9  (D)10

 

 

4.假設有一個矩陣,其元素大部分都沒有使用,元素稀稀落落,請問在資料結構中,將此矩陣稱為:

(A) 稀疏矩陣

(B) 上三角矩陣

(C) 下三角矩陣

(D) 零矩陣

 

 

5.使用二維陣列來儲存稀疏矩陣中的全部元素,下列敘述何者正確?

(A)容易管理

(B)記憶體最佳利用

(C)節省空間

(D)浪費空間

 

6.在處理稀疏矩陣的方法中,下列那一種方法可以減少記憶體空間的浪費?

(A)一維陣列

(B)二維陣列

(C)2-tuple結構

(D)3-tuple結構

 

 

2-8 特殊矩陣

1.除了常見的四種矩陣(矩陣轉置、矩陣相加、矩陣相乘及 稀疏矩陣)之外,在資料結構中尚有一些比較特殊的矩陣,請問下列何者正確?

(A)上三角矩陣

(B)下三角矩陣

(C)對稱矩陣

(D)以上皆是

 

 

2-8.1 上三角矩陣(Upper-Triangular Matrix)

1.假設一矩陣A為 n×n的二維矩陣,當對角線以上的元素均為零時稱之為上三角矩陣。欲將此矩陣對映到一個一維陣列,請問需要多大的記憶體空間來儲存?

(A) n  (B)n×n  (C)        (D)

 

 

2.假設一矩陣A為 4×4的二維矩陣,當對角線以上的元素均為零時稱之為上三角矩陣。欲將此矩陣對映到一個一維陣列,請問需要多大的記憶體空間來儲存?

(A) 4  (B)8  (C)10    (D)15

 

 

3.假設一矩陣A為 n×n的二維矩陣,當對角線以上的元素均為零時稱之為上三角矩陣。請問零元素個數有多少?

(A) n  (B)n×n  (C) n2–          (D) n2

 

 

 

 

 

 

4.假設一矩陣A為 4×4的二維矩陣,當對角線以上的元素均為零時稱之為上三角矩陣。請問零元素個數有多少?

(A)4  (B)5  (C)6  (D)15

 

 

5.假設有一矩陣A為4×4的上三角矩陣,以列為主,請問元素a33對映到一維陣列的位置為何?

(A) 7  (B)8  (C) 9  (D) 10

 

 

6.假設有一矩陣A為4×4的上三角矩陣,以行為主,請問元素a33對映到一維陣列的位置為何?

(A) 5  (B)6  (C) 7  (D)8

 

 

2-8.2 下三角矩陣(Lower-Triangular Matrix)

1.假設一矩陣A為 n×n的二維矩陣,當對角線以上的元素均為零時稱之為下三角矩陣。欲將此矩陣對映到一個一維陣列,請問需要多大的記憶體空間來儲存?

(A) n  (B)n×n  (C)         (D)

 

 

2.假設一矩陣A為 3×3的二維矩陣,當對角線以上的元素均為零時稱之為下三角矩陣。欲將此矩陣對映到一個一維陣列,請問需要多大的記憶體空間來儲存?

(A)3  (B)6  (C)9  (D)12

 

 

3.假設一矩陣A為 n×n的二維矩陣,當對角線以上的元素均為零時稱之為下三角矩陣。請問零元素個數有多少?

(A) n  (B)n×n  (C) n2–         (D) n2

 

 

4.假設一矩陣A為 3×3的二維矩陣,當對角線以上的元素均為零時稱之為下三角矩陣。請問零元素個數有多少?

(A)1  (B)2  (C)3  (D)5

 

 

 

5.假設有一矩陣A為4×4的下三角矩陣,以列為主,請問元素a33對映到一維陣列的位置為何?

(A)5  (B)6  (C) 7  (D)8

 

 

6.假設有一矩陣A為4×4的上三角矩陣,以行為主,請問元素a33對映到一維陣列的位置為何?

(A) 7  (B)8  (C) 9  (D)10

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料