第1題
一棵空的階數為3 的B-Tree(B-Tree of order 3)。由左而右依序插入下列 鍵值(key value):10, 80, 2, 9, 45, 62。請問插入完畢後,根節點中的鍵值 有那些?請依序由小到大列出,用逗號分隔,並請說明樹節點的變化。 (10 分)有一棵階數為5 的B-Tree(B-Tree of order 5),其高度(height) 為3,請問這棵樹中最多可以儲存多少個鍵值?(10 分)
民國114年 高考三級 資訊處理 資料結構收錄考選部官方試題,共 5 題可線上瀏覽,考選部未公告本科目答案。
一棵空的階數為3 的B-Tree(B-Tree of order 3)。由左而右依序插入下列 鍵值(key value):10, 80, 2, 9, 45, 62。請問插入完畢後,根節點中的鍵值 有那些?請依序由小到大列出,用逗號分隔,並請說明樹節點的變化。 (10 分)有一棵階數為5 的B-Tree(B-Tree of order 5),其高度(height) 為3,請問這棵樹中最多可以儲存多少個鍵值?(10 分)
有一個三維整數陣列A[3][6][8],每個元素占用4 個記憶體空間,每個記 憶體空間均有位址。該陣列在儲存至記憶體時,會先被轉換為一維陣列 的形式儲存。下列位址皆為十進位,已知A[0][1][2]的記憶體位址為 2040,A[1][4][5]的位址為2340。請問陣列A 在記憶體中的儲存方式為 何?是以列為主(row-major)還是以行為主(column-major)?(10 分) 請計算A[1][5][3]在記憶體中的位址為何?(10 分)
假設G 為一個無方向連通加權圖(Undirected connected weighted graph), 包含五個節點:A、B、C、D、E。各節點間相連情形如下,邊權(邊的 權重)為正整數,代表邊的成本。 A 與B 相連,邊權為16; A 與C 相連,邊權為18; A 與D 相連,邊權為14; B 與C 相連,邊權為15; C 與D 相連,邊權為13; D 與E 相連,邊權為12; C 與E 相連,邊權為17; 請使用Sollin’s 演算法,寫出最終形成的最小成本擴展樹的邊集合與總 成本,請寫出每一步的演算法與該步驟形成的擴展樹。每一合併過程, 列出選中的邊與合併的組成(component)。(20 分)
根據下列的虛擬碼,若n = 21 則傳回的答案為何?請說明。其中floor() 為數學上的地板函數(floor function)。(20 分) function splitSum(n: integer) returns integer if n <= 1 then return 1 a ←floor(n / 2) b ←floor(n / 3) return splitSum(a) + splitSum(b)
下列虛擬碼是利用某演算法對陣列A 的元素進行處理,請說明該法是進 行何種處理並請寫出其名稱和在最壞情況下時間複雜度為何?(10 分) 若陣列A = [29, 10, 14, 37, 13],請寫出該虛擬碼的處理過程:請列出陣 列在每一輪(每次外層迴圈執行完後)的內容變化情形。請特別標示出 最終結果為何?(10 分) doingSomething(A) begin n ←陣列A 的元素個數 for i ← 0 to n − 2 do theIndex ←i for j ← i + 1 to n − 1 do if A[j] < A[theIndex] then theIndex ←j end for if theIndex <> i then temp = A[i] A[i] = A[theIndex] A[theIndex] = temp end if end for end