【資料結構-題庫】陣列
1.陣列是一組變數的集合,而這些變數:
(A) 具有不同的資料型態,並且分散存在記憶體空間
(B) 具有相同的資料型態,並且分散存在記憶體空間
(C) 具有相同的資料型態,並且線性相鄰的存在記憶體空間
(D) 具有不同的資料型態,並且線性相鄰的存在記憶體空間
2.有關陣列下列那一項敘述有誤?
(A)佔用連續記憶體空間
(B)插入或刪除元素非常容易
(C)各元素的資料型態皆相同
(D)支援隨機存取(Random Access)與循序(Sequential Access)
3.存取陣列中的元素時,需指定要存取元素在陣列中的?
(A)記憶體位址
(B)索引編號
(C)元素值
(D)以上皆可
4.在一維陣列中,常使用的運算指令有五種,下列那一種不是?
(A)讀取(Read)
(B)寫入(Write)
(C)複製(Copy)
(D)貼上(Past)
5.在一維陣列中,那一個運算指令執行時,會往後挪一個位置?
(A)讀取(Read)
(B)寫入(Write)
(C)刪除(Delete)
(D)插入(Insert)
6.假設有n個整數利用陣列(Array)儲存,將存放於最前面及最後面的資料印出時,請問所需之時間複雜度以下列何者表示最為適當?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
7.假設有一陣列A儲存已排序的n個數字資料,刪除最大數值的資料需多少時間?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
8.假設有一陣列A儲存已排序好的資料(a1,a2,…,an),請問下列何者錯誤?
(A)找第k大的資料需要O(log n)
(B)刪除需要O(n)的時間
(C)插入需要O(n)的時間
(D)以上皆非
9.請問在陣列中「讀取」某一元素的時間複雜度為何?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
7.請問在陣列中「寫入」某一元素的時間複雜度為何?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
8.假設有一陣列A儲存已排序的n個數字資料,請問「插入」某一元素的時間複雜度為何?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
9.假設有一陣列A儲存已排序的n個數字資料,請問「刪除」某一元素的時間複雜度為何?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
10.假設有一陣列A陣列的元素內含值欲全部逐一複製到B陣列中,請問時間複雜度為何?
(A)O(1)
(B)O(log n)
(C)O(n)
(D)O(n2)
11. 關於「變數宣告」與「陣列宣告」的敘述,下列何者有誤?
(A) 變數宣告時,會產生不連續的記憶體空間的配置
(B) 變數宣告時,會產生連續的記憶體空間的配置
(C) 陣列宣告時,會產生連續的記憶體空間的配置
(D) 變數宣告時,變數與變數之間都是個別獨立的記憶體空間。
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]
13.有一整數陣列int A[0…29] ; (假設int資料型態佔用2個位元組),則此陣列共佔多少位元組?
(A) 40
(B) 30
(C) 4
(D) 60
14.陣列A[註標]中,註標不可為:
(A)整數
(B)運算式
(C)變數
(D)字串
【2-3 二維陣列的觀念,以下不在期中考的範圍內】
1.二維陣列宣告int Score[23],陣列中含有多少元素:
(A)2
(B)3
(C)6
(D)12
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 )
- 將原矩陣中的行座標元素與列座標元素相互調換,此現象稱為?
(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)
- 將A矩陣內的元素與B矩陣內的元素相加之後,存放到C矩陣,此現象稱為?
(A) 矩陣合併
(B) 矩陣相加
(C) 矩陣結合
(D) 矩陣合成
- 假設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)
- 假設想要將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