




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、算法設計與分析2007.91第五章 堆排序堆的基本概念和性質堆的基本操作(過程及分析)堆排序算法(過程及分析)堆排序應用優先級隊列(過程及分析)程序展示和講解2一、堆的基本概念和性質1、定義: 堆可看作為一完全二叉樹,大根堆的任一 非終端節點(葉子節點) 的數據不小于其子節點的數據。2、兩個特點: 根節點上為該堆的最大元素。 較大的數據位于較低的層次。3堆的屬性1、 lengthA:數組中的元素個數2、heapsizeA:存放在A中的堆的元素個數 顯然heapsizeA lengthA3、給定一個節點的下標i,其父節點為 i/2 ,其左兒子LEFT(i)為2i、右兒子 RIGHT(i)為2i+
2、1.4五個基本過程1、HEAPIFY過程:維持堆性質,運行時間O(lgn).2、BUILD-HEAP過程:從無序的輸入數組中構造出一個堆來,運行時間O(n). 3、HEAPSORT過程:對一個數組進行排序,運行時間O(nlgn). 4、EXTRACT-MAX和INSERT過程:是堆結構可以作為一個優先級隊列來用,運行時間O(lgn). 5堆實例6二、堆的基本操作HEAPIFY過程1、過程說明:對于第i個數,假定以它左兒子LEFT(i)和右兒子 RIGHT(i)為根的兩棵子樹都已為堆,調用HEAPIFY使得以i為根的子樹成為一個的堆。2、過程圖例783、算法如下1、lLEFT(i)2、rRIGH
3、T(i)3、if lheapsize(A)andAlAi4、 then largestl5、 else largesti6、if rheapsize(A) andArAlargest7、 then largestr8、if largesti9、 then exchange AiAlargest10、 HEAPIFY(A,largest)94、運行時間 T(n)=T(2/3n)+(1) 可得T(n)=O(lgn) 因為堆的高度最大為lgn 所以可知T(n)= O(lgn)10BUILD-HEAP過程1、圖例2、 BUILD-HEAP(A)算法 1) heapsizeAlengthA 2) for
4、 i lengthA/2 downto 1 3) do HEAPIFY(A,i)3、運行時間 111213粗估: 每調一次HEAPIFY(A,i)的時間為O(lgn),總共有O(n)次調用,故運行時間最多為O(nlgn).此時間是不緊確的。緊確估計:含n個元素的堆中至多有 個節點的高度為h1415三、堆排序算法1、圖例:2、算法1) BUILDHEAP(A)2) for ilengthA downto 23) do exchange A1Ai4) heapsize(A)heapsize(A)-15) HEAPIFY(A,1)3、運行時間16171819堆排序的時間建堆的時間為O(n)+(n-1
5、)次的HEAPIFY調用時間 O(lgn),所以總的代價為O(nlgn)20四、優先級隊列一、常見操作1、INSERT(S,x):把元素x插入集合S. 可記為SSx.2、MAXIMUM(S):返回S中具有最大關鍵字的元素。3、EXTRACTMAX(S):去掉并返回S中具有最大關鍵字的元素。21HEAP-EXTRACT-MAX過程HEAPEXTRACTMAX(A)if heapsize A1 and APARENT(i)key 4、 do AiAPARENT(i) 5、 iPARENT(i) 6、 Aikey3、運行時間: O(lgn)2425第五章 堆排序概念:二叉樹、完全二叉樹、根、葉節點、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省郟縣2025屆三年級數學第二學期期末經典試題含解析
- 湖北師范大學文理學院《基礎護理學》2023-2024學年第二學期期末試卷
- 徐州生物工程職業技術學院《時尚傳播》2023-2024學年第二學期期末試卷
- 神木縣2025年數學三下期末綜合測試試題含解析
- 服務產品策略知識訓練講義英文版
- 皮革制品的國內外市場準入規則考核試卷
- 毛織品行業市場服務創新策略優化調整考核試卷
- 智能照明在小型會議室照明中的應用考核試卷
- 煤炭資源開發與區域環境保護協調發展考核試卷
- 電力系統電能質量監測與治理設備考核試卷
- 2025職業健康培訓
- 2025年湖南省中考數學模擬試卷(一)(原卷版+解析版)
- 稅務局筆試試題及答案
- 2025年第六屆全國國家版圖知識競賽題庫及答案
- 網絡系統維護記錄日志表
- 禁食病人護理措施
- 存款保險知識競賽
- 信息技術必修1數據與計算2.2《做出判斷的分支》教學設計
- 2024年社區工作者考試必考1000題含完整答案(全優)
- 七年級生物上冊 3.2.1 種子的萌發說課稿1 (新版)新人教版
- 2025年春季中小學升旗儀式安排表(附:1-20周講話稿)
評論
0/150
提交評論