高普考題庫
105 年 105年公務人員高等考試三級考試暨普通考試

資料結構

本卷皆為申論題,點「看答案與解析」查看擬答。

申論 1假設一個無向圖(undirected graph)的邊(edges)如下:S, T S, Z T, Y T, Z V, Y V, Z Y, Z㈠使用堆疊(stack),從S 開始,進行深度優先走訪(depth-first traversal),請寫出走訪結果。(10 分)㈡使用佇列(queue),從S 開始,進行廣度優先走訪(breadth-first traversal),請寫出走訪結果。(10 分)
申論 2㈠請將下列值2, 1, 4, 5, 9, 3, 6, 7 依序插入原來為空的紅黑樹(red-black tree),請寫出結果。作答時,請標示節點如下:例如節點2B 表示其值為2 的黑(Black)節點,又如節點5R 表示其值為5 的紅(Red)節點。(10 分)㈡請畫出與上面㈠小題相對應的2-3-4 樹(2-3-4 tree)。(10 分)
申論 3請對下面的樹,分別做前序(preOrder)、中序(inOrder)、後序(postOrder)及廣度優先(breadth-first)四種走訪(traversals),請分別寫出結果。(20 分)+- /X Y Z *A B
申論 4㈠依序插入2, 1, 4, 5, 9, 3, 6, 7 於原來為空的堆(min heap),請畫圖顯示此堆(minheap)的樹狀結構,並請寫出此堆(min heap)的陣列內容。(10 分)㈡從上面㈠小題的結果刪除兩個元素,請畫圖顯示此堆(min heap)的樹狀結構,並請寫出此堆(min heap)的陣列內容。(10 分)
申論 5對下列程式片段,請用Big-O 符號(Big-O notation),分別估計最長執行時間(worsttime)。注意:S 中沒有與 n 相關的迴圈(n-dependent loops)。(每小題5 分,共20 分)㈠for (int i = 0; i * i < n; i++) S㈡for (int i = 1; i < n+1; i*=2) S㈢for (int i = 1; i < n+1; i*=2)for (int j = 0; j < n; j++) S㈣k=1; for (int i=0; i<n; i++){k*=3; for (int j=0; j<k; j++) S}