版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)樹與二叉樹第一頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹(1)若它的左子樹不空,則左子樹上所有結(jié)點的值均小于根結(jié)點的值;1.定義:二叉排序樹(二叉搜索樹或二叉查找樹)或者是一棵空樹;或者是具有如下特性的二叉樹(3)它的左、右子樹也都分別是二叉排序樹。(2)若它的右子樹不空,則右子樹上所有結(jié)點的值均大于等于根結(jié)點的值;第二頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹503080209010854035252388例如:是二叉排序樹。66不對二叉排序樹進行中序遍歷,得到一個有序序列第三頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹452412145390中序遍歷:12,14,24,45,53,90二叉排序樹的構(gòu)造特點:樹結(jié)構(gòu)在查找的過程中動態(tài)生成。
每次插入的結(jié)點只能成為新的葉子結(jié)點例:關(guān)鍵字序列為{45,24,53,12,14,90}第四頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹二叉排序樹構(gòu)造—遞歸算法與非遞歸算法p142第五頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹二叉排序刪除節(jié)點(1)若被刪除節(jié)點為葉結(jié)點,則可以直接刪除(2)若被刪除結(jié)點沒有左子樹,則可以用其右子樹的跟結(jié)點取代被刪除結(jié)點的位置(3)若被刪除結(jié)點沒有右子樹,則可以用其左子樹的跟結(jié)點取代被刪除結(jié)點的位置(4)若被刪除結(jié)點的左、右子樹均存在,則要找到右子樹中值最小的結(jié)點(r),用該節(jié)點取代被刪除節(jié)點的位置。由于由r指出的節(jié)點的位置一定沒有左子樹,所以用其右孩子來取代r所指節(jié)點的位置。第六頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹二叉排序刪除節(jié)點(1)若被刪除節(jié)點為葉結(jié)點,則可以直接刪除(2)若被刪除結(jié)點沒有左子樹,則可以用其右子樹的跟結(jié)點取代被刪除結(jié)點的位置(3)若被刪除結(jié)點沒有右子樹,則可以用其左子樹的跟結(jié)點取代被刪除結(jié)點的位置(4)若被刪除結(jié)點的左、右子樹均存在,則要找到右子樹中值最小的結(jié)點(r),用該節(jié)點取代被刪除節(jié)點的位置。由于由r指出的節(jié)點的位置一定沒有左子樹,所以用其右孩子來取代r所指節(jié)點的位置。第七頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹1)若給定值等于根結(jié)點的關(guān)鍵字,則查找成功;2)若給定值小于根結(jié)點的關(guān)鍵字,則繼續(xù)在左子樹上進行查找;3)若給定值大于根結(jié)點的關(guān)鍵字,則繼續(xù)在右子樹上進行查找。否則二叉排序樹的查找——查找算法若二叉排序樹為空,則查找不成功;第八頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹平均查找長度:確定一個元素在樹中的位置所需進行的比較次數(shù)節(jié)點內(nèi)路徑長度(IPL):從二叉樹根節(jié)點到某節(jié)點所經(jīng)過的分枝數(shù),定義為該節(jié)點的內(nèi)經(jīng)長度二叉樹內(nèi)路徑長度:外路徑長度(XPL):外邊結(jié)點內(nèi)部結(jié)點EPL:二叉樹中所有外邊結(jié)點的路徑之和二叉排序樹的查找——查找長度第九頁,共二十四頁,編輯于2023年,星期三7.7二叉排序樹查找成功的平均查找長度
ASL=(IPL+n)/n查找失敗的平均查找長度
ASL=EPL/n=(IPL+2n)/n平均查找長度
ASL=(IPL+n+EPL)/(n+n+1)=(2IPL+3n)/2n+1二叉排序樹的查找——查找長度第十頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用問題的提出:例:編制一個將百分制轉(zhuǎn)換為五級分制的程序。如:
if(a<60)b=”bad”;elseif(a<70)b=”pass”elseif(a<80)b=”general”elseif(a<90)b=”good”elseb=”excellent”;第十一頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用顯然,此程序很簡單,只要利用條件語句便可完成。如果上述程序需反復(fù)使用,而且每次的輸入量很大,則應(yīng)考慮上述程序的質(zhì)量問題,即其操作所需要的時間。因為在實際中,學生的成績在五個等級上的分布是不均勻的,假設(shè)其分布規(guī)律如下表所示:分數(shù)0-5960-6970-7980-8990-100比例數(shù)0.050.150.400.300.10則80%以上的數(shù)據(jù)需進行三次或三次以上的比較才能得出結(jié)果。第十二頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用葉子結(jié)點的權(quán)值:對葉子結(jié)點賦予的一個有意義的數(shù)值量。二叉樹的帶權(quán)路徑長度:設(shè)二叉樹具有n個帶權(quán)值的葉子結(jié)點,從根結(jié)點到各個葉子結(jié)點的路徑長度與相應(yīng)葉子結(jié)點權(quán)值的乘積之和。
記為:WPL=?=nkkklw1第k個葉子的權(quán)值;從根結(jié)點到第k個葉子的路徑長度第十三頁,共二十四頁,編輯于2023年,星期三編碼:給每一個對象標記一個二進制位串來表示一組對象。例:ASCII,指令系統(tǒng)等長編碼:表示一組對象的二進制位串的長度相等。不等長編碼:表示一組對象的二進制位串的長度不相等。不等長編碼什么情況下空間效率高?等長編碼什么情況下空間效率高?7.9哈夫曼樹及其應(yīng)用第十四頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用前綴編碼:一組編碼中任一編碼都不是其它任何一個編碼的前綴。前綴編碼保證了在解碼時不會有多種可能。
第十五頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用哈夫曼樹:給定一組具有確定權(quán)值的葉子結(jié)點,帶權(quán)路徑長度最小的二叉樹。例:給定4個葉子結(jié)點,其權(quán)值分別為{2,3,4,7},可以構(gòu)造出形狀不同的多個二叉樹。
WPL=32WPL=41WPL=30234723477423第十六頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用哈夫曼樹的特點:1.權(quán)值越大的葉子結(jié)點越靠近根結(jié)點,而權(quán)值越小的葉子結(jié)點越遠離根結(jié)點。2.只有度為0(葉子結(jié)點)和度為2(分支結(jié)點)的結(jié)點,不存在度為1的結(jié)點.
234723477423第十七頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用第1步:初始化W={2,3,4,5}
哈夫曼樹的構(gòu)造過程3524第2步:選取與合并32
5第3步:刪除與加入5432
5第十八頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用W={2,3,4,5}
哈夫曼樹的構(gòu)造過程重復(fù)第2步5432
554
9重復(fù)第3步
554
932第十九頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用重復(fù)第2步重復(fù)第3步
554
932
554
93214W={2,3,4,5}
哈夫曼樹的構(gòu)造過程第二十頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用例:一組字符{A,B,C,D,E,F,G}出現(xiàn)的頻率分別是{9,11,5,7,8,2,3},設(shè)計最經(jīng)濟的編碼方案。第二十一頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用9523510191126871545000000111111ABDCEFG編碼方案:A:00B:10C:010D:110E:111F:0110G:0111第二十二頁,共二十四頁,編輯于2023年,星期三7.9哈夫曼樹及其應(yīng)用哈夫曼算法的存儲結(jié)構(gòu)設(shè)置一個數(shù)組(向量)huffTree[2n-1]保存哈夫曼樹中各點的信息,數(shù)組(向量)元素的結(jié)點結(jié)構(gòu)。weight:權(quán)值域,保存該結(jié)點的權(quán)值;lchild:指針域,結(jié)點的左孩子結(jié)點在數(shù)組中的下標;rchild:指針域,結(jié)點的右孩子結(jié)點在數(shù)組中的下標;parent:指針域,該結(jié)點的雙親結(jié)點在數(shù)組中的下標。
weightlchildrchildparent第二十三頁,共二十四頁,編輯于2023年,星期三樹結(jié)構(gòu)樹二叉樹邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)存儲結(jié)構(gòu)存儲結(jié)構(gòu)樹的定義基本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省邯鄲市肥鄉(xiāng)區(qū)固中學、北高鎮(zhèn)中心校聯(lián)考2026屆九年級上學期10月期中考試數(shù)學試卷(含答案)
- 廣東省廣州市荔灣區(qū)2025-2026學年第一學期四年級數(shù)學期末試卷(無答案)
- 五年級數(shù)學上冊期中測試卷及答案
- 解讀教育部《中小學生健康體檢管理辦法(2021年版)》全文解讀
- 22春北京語言大學《漢語寫作》在線作業(yè)一答案參考8
- 七年級下語文課堂作業(yè)本答案第一單元
- 新部編人教版一年級數(shù)學上冊期末知識點及答案(三套)
- 電氣工程造價管理技術(shù)方法
- 深圳職工考試題庫及答案
- 人文地理常識試題及答案
- 2026年年長租公寓市場分析
- 生態(tài)環(huán)境監(jiān)測數(shù)據(jù)分析報告
- 2025年下半年四川成都溫江興蓉西城市運營集團有限公司第二次招聘人力資源部副部長等崗位5人考試參考試題及答案解析
- 煤炭裝卸施工方案(3篇)
- 八年級歷史上冊小論文觀點及范文
- 重慶康德卷2025-2026學年高一數(shù)學第一學期期末達標檢測試題含解析
- 浙江省杭州市蕭山區(qū)2024-2025學年六年級上學期語文期末試卷(含答案)
- 設(shè)備隱患排查培訓
- 2025至2030磷酸二氫鈉行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 國家事業(yè)單位招聘2025中國農(nóng)業(yè)科學院植物保護研究所招聘12人筆試歷年參考題庫附帶答案詳解
- 裝載機安全培訓課件
評論
0/150
提交評論