申論 2優先佇列(Priority Queue)是依管理物件的優先權來考量,在此我們考慮管理物件的鍵值(Key)愈小其優先權愈高,兩個主要操作則分別為加入(Insert)與擷取最小者(Delete_Min)。㈠請說明如何利用優先佇列對n個鍵值進行排序。(6分)㈡我們使用一個未排序的陣列(Unsorted Array)來管理鍵值以實現一個優先佇列,請回答下列問題:(10分)⑴若有n個鍵值,請說明兩個主要操作(加入(Insert)與擷取最小者(Delete_Min))的時間複雜度。⑵請判斷下面的敘述是否為真,並請說明原因:若以此優先佇列進行排序(Sorting),其所對應的排序原理為插入排序(Insertion Sort)。㈢二元堆積(Binary Heap)是一個優先佇列的資料結構,因為我們考慮鍵值小的物件有高的優先權,所以又可稱為最小堆積(MinimumHeap)。(14分)⑴在結構上最小堆積為一個完全二元樹(Complete Binary Tree),若使用一個陣列來實作最小堆積,陣列中物件的鍵值放置如下,請描述此陣列對應的完全二元樹(以樹狀結構表示)。Index12345678910Key35 18 42 24 7 14 25 12 38 21⑵請說明二元堆積中何謂堆積特性(Heap Property)?⑶前揭⑴中的完全二元樹並未有堆積特性,請將其進行堆積化(Heapify),並以陣列表示出堆積化後的最小堆積所對應之完全二元樹。