關(guān)鍵字序列建堆 用一組{14,15,30,28,5,10}關(guān)鍵字序列,寫出初始建堆過程圖示,再根據(jù)初始堆寫出堆排序過程圖示?
用一組{14,15,30,28,5,10}關(guān)鍵字序列,寫出初始建堆過程圖示,再根據(jù)初始堆寫出堆排序過程圖示?起始順序是14,15,30,28,5,10,(1)所以起始堆如下:14,15,30,28,5
用一組{14,15,30,28,5,10}關(guān)鍵字序列,寫出初始建堆過程圖示,再根據(jù)初始堆寫出堆排序過程圖示?
起始順序是14,15,30,28,5,10,(1)所以起始堆如下:14,15,30,28,5,10(2)假設(shè)我們想得到一個(gè)從小到大的C,所以我們需要建立一個(gè)大的頂部堆,并且起始狀態(tài)是從下到上:步驟1:步驟2:14,30,28,14,25,10,10(3)初始堆已經(jīng)建立。此時(shí),頂層元素30是最大的元素,頂層元素與堆的最后一個(gè)元素交換。此時(shí),最上面的元素30是隊(duì)列末尾最大的元素,因此無需繼續(xù)排序。因此,堆如下圖所示:10 28 14 25 5(4)此時(shí),由于除10以外的所有其他堆被交換到堆的頂部基本上都是有序的,因此自上而下構(gòu)造得到的堆如下:28 25 14 10 5(5)重復(fù)步驟(3)和(4)確定28的位置,得到堆如下:25 1014 5(6)重復(fù)步驟(3)和(4)確定25的位置并獲得堆,如下所示:14 10 5(7)重復(fù)步驟(3)和(4)確定14的位置并獲得堆,如下所示:10 5(8)重復(fù)步驟(3)和(4)確定10的位置。此時(shí),只有數(shù)字5也位于堆的第一個(gè)位置,因此排序完成。