• 沒有找到結果。

當然,1 2 3 4 5也是1 2 3 4 5的一個排列

N/A
N/A
Protected

Academic year: 2021

Share "當然,1 2 3 4 5也是1 2 3 4 5的一個排列"

Copied!
2
0
0

加載中.... (立即查看全文)

全文

(1)

109年公務人員高等考試三級考試試題

科:資訊處理 目:資料結構

考試時間:2小時 座號:

※注意:禁止使用電子計算器。

不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

本科目除專門名詞或數理公式外,應使用本國文字作答。

代號:38450 頁次:2-1

一、考慮數字1到n,若將其順序重新排置,每個排列順序都稱作一個排列或置換

(Permutation),例如5 1 4 3 2是1 2 3 4 5的一個排列。我們可以將一個數字1 到n的排列視為一個順序的映射P,則前述例子可表示為P(5) = 1、P(1) = 2、

P(4) = 3、P(3) = 4、P(2) = 5。當然,1 2 3 4 5也是1 2 3 4 5的一個排列。在 一個數字1到n的排列P中,若一對數字 i 和 j ,1 i < j  n,P( j) < P(i),也 就是在排列P中較大的數字 j 出現在較小的數字 i 左邊(前面),我們稱此 對數字為反向(Inversion),而排列P的反向數(Inversion number)則定義 為排列P中反向的總數量。請回答下列問題:

數字1到n的何種排列會有最大的反向數?最大反向數是多少?(5分)

若給定一個數字1到n的排列P,請提出一個線性遞迴(Linear Recursive)

的方式來算出排列P的反向數,並提供虛擬碼(Pseudo-code)與時間複 雜度分析。(10分)

二、優先佇列(Priority Queue)是依管理物件的優先權來考量,在此我們考慮 管理物件的鍵值(Key)愈小其優先權愈高,兩個主要操作則分別為加入

(Insert)與擷取最小者(Delete_Min)。

請說明如何利用優先佇列對n個鍵值進行排序。(6分)

我們使用一個未排序的陣列(Unsorted Array)來管理鍵值以實現一個 優先佇列,請回答下列問題:(10分)

⑴若有n個鍵值,請說明兩個主要操作(加入(Insert)與擷取最小者

(Delete_Min))的時間複雜度。

⑵請判斷下面的敘述是否為真,並請說明原因:

若以此優先佇列進行排序(Sorting),其所對應的排序原理為插入排 序(Insertion Sort)。

二元堆積(Binary Heap)是一個優先佇列的資料結構,因為我們考慮鍵值 小的物件有高的優先權,所以又可稱為最小堆積(Minimum Heap)(14分)

⑴在結構上最小堆積為一個完全二元樹(Complete Binary Tree),若使 用一個陣列來實作最小堆積,陣列中物件的鍵值放置如下,請描述此 陣列對應的完全二元樹(以樹狀結構表示)

Index 1 2 3 4 5 6 7 8 9 10 Key 35 18 42 24 7 14 25 12 38 21

⑵請說明二元堆積中何謂堆積特性(Heap Property)?

⑶ 前 揭 ⑴ 中 的 完 全 二 元 樹 並 未 有 堆 積 特 性 , 請 將 其 進 行 堆 積 化

(Heapify),並以陣列表示出堆積化後的最小堆積所對應之完全二元樹。

(2)

代號:38450 頁次:2-2

三、請回答下列關於AVL樹(AVL Tree)的問題:

我們欲將所管理的鍵值(Key)依序列出,請問是否可以利用一個AVL 樹對鍵值來進行排序(Sorting)?若不行,請說明原因;如果可以,請 描述方法及時間複雜度。(5分)

請提供一個線性時間的演算法來判斷一個二元搜尋樹是否為AVL樹。

(10分)

在AVL樹上進行一個加入(Insert)操作後,是否最多只需要一次的重構

(Restructuring)即可恢復其平衡的特性?請說明原因。(10分)

四、若我們用相鄰矩陣(Adjacency Matrix)M來表示圖一中的無向圖G = (V, E),

請考慮下面的問題:

圖一、無向圖G = (V, E)

對於無向圖G = (V, E):(12分)

⑴請給出對應的相鄰矩陣M。

⑵以字母順序為考量進行深度優先搜尋(Depth-First Search, DFS),請 由節點a開始,描述此深度優先搜尋所產生的深度優先樹(DF-tree)

請說明在用相鄰矩陣(Adjacency Matrix)表示的無向圖上,進行深度優 先搜尋的時間複雜度,其中節點與邊的數量分別為|V | = n與|E| = m。(8分)

若將圖一無向圖G = (V, E)中的邊給予方向成為如圖二中的有向圖

(Directed Graph)G’:(10分)

圖二、有向圖G’

⑴有向圖G’沒有迴圈(Cycle),是一個無迴圈有向圖(Directed Acyclic Graph, DAG),所以存在節點的拓樸排序(Topological Sort),請對G’

給出一個拓樸排序(Topological Sort)。

⑵請給一個方法來判斷一個有向圖是否沒有迴圈。

參考文獻

相關文件

[r]

如圖,已知平行四邊形 EFGH 是平行四邊形 ABCD 的縮放圖形,則:... 阿美的房間長 3.2 公尺,寬

[r]

[r]

年青的學生如能把體育活動融入日常生活,便可提高自己的體育活動能

常識科的長遠目標是幫助學生成為終身學習者,勇於面對未來的新挑 戰。學校和教師將會繼續推展上述短期與中期發展階段的工作

[r]

地址:香港灣仔皇后大道東 213 號 胡忠大廈 13 樓 1329 室 課程發展議會秘書處 傳真:2573 5299 或 2575 4318