【資料結構-題庫】陣列
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矩陣,此現象稱為?
- 假設A,B都是(m × n)矩陣,則我們可以將A矩陣加上B矩陣以得到一個C矩陣,並且此C矩陣亦為(m × n)矩陣,其主要的指令為何?
- 假設想要將A矩陣(m × n)內的元素與B矩陣(n × p)內的元素相乘之後,存放到C矩陣,請問C矩陣要提供「幾列幾行」才能存放呢?