




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)樹與二叉樹第1頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹(1)若它的左子樹不空,則左子樹上所有結(jié)點的值均小于根結(jié)點的值;1.定義:二叉排序樹(二叉搜索樹或二叉查找樹)或者是一棵空樹;或者是具有如下特性的二叉樹(3)它的左、右子樹也都分別是二叉排序樹。(2)若它的右子樹不空,則右子樹上所有結(jié)點的值均大于等于根結(jié)點的值;第2頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹503080209010854035252388例如:是二叉排序樹。66不對二叉排序樹進行中序遍歷,得到一個有序序列第3頁,共24頁,2023年,2月20日,星期六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}第4頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹二叉排序樹構(gòu)造—遞歸算法與非遞歸算法p142第5頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹二叉排序刪除節(jié)點(1)若被刪除節(jié)點為葉結(jié)點,則可以直接刪除(2)若被刪除結(jié)點沒有左子樹,則可以用其右子樹的跟結(jié)點取代被刪除結(jié)點的位置(3)若被刪除結(jié)點沒有右子樹,則可以用其左子樹的跟結(jié)點取代被刪除結(jié)點的位置(4)若被刪除結(jié)點的左、右子樹均存在,則要找到右子樹中值最小的結(jié)點(r),用該節(jié)點取代被刪除節(jié)點的位置。由于由r指出的節(jié)點的位置一定沒有左子樹,所以用其右孩子來取代r所指節(jié)點的位置。第6頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹二叉排序刪除節(jié)點(1)若被刪除節(jié)點為葉結(jié)點,則可以直接刪除(2)若被刪除結(jié)點沒有左子樹,則可以用其右子樹的跟結(jié)點取代被刪除結(jié)點的位置(3)若被刪除結(jié)點沒有右子樹,則可以用其左子樹的跟結(jié)點取代被刪除結(jié)點的位置(4)若被刪除結(jié)點的左、右子樹均存在,則要找到右子樹中值最小的結(jié)點(r),用該節(jié)點取代被刪除節(jié)點的位置。由于由r指出的節(jié)點的位置一定沒有左子樹,所以用其右孩子來取代r所指節(jié)點的位置。第7頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹1)若給定值等于根結(jié)點的關(guān)鍵字,則查找成功;2)若給定值小于根結(jié)點的關(guān)鍵字,則繼續(xù)在左子樹上進行查找;3)若給定值大于根結(jié)點的關(guān)鍵字,則繼續(xù)在右子樹上進行查找。否則二叉排序樹的查找——查找算法若二叉排序樹為空,則查找不成功;第8頁,共24頁,2023年,2月20日,星期六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é)點的路徑之和二叉排序樹的查找——查找長度第9頁,共24頁,2023年,2月20日,星期六7.7二叉排序樹查找成功的平均查找長度
ASL=(IPL+n)/n查找失敗的平均查找長度
ASL=EPL/n=(IPL+2n)/n平均查找長度
ASL=(IPL+n+EPL)/(n+n+1)=(2IPL+3n)/2n+1二叉排序樹的查找——查找長度第10頁,共24頁,2023年,2月20日,星期六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”;第11頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用顯然,此程序很簡單,只要利用條件語句便可完成。如果上述程序需反復(fù)使用,而且每次的輸入量很大,則應(yīng)考慮上述程序的質(zhì)量問題,即其操作所需要的時間。因為在實際中,學(xué)生的成績在五個等級上的分布是不均勻的,假設(shè)其分布規(guī)律如下表所示:分數(shù)0-5960-6970-7980-8990-100比例數(shù)0.050.150.400.300.10則80%以上的數(shù)據(jù)需進行三次或三次以上的比較才能得出結(jié)果。第12頁,共24頁,2023年,2月20日,星期六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個葉子的路徑長度第13頁,共24頁,2023年,2月20日,星期六編碼:給每一個對象標記一個二進制位串來表示一組對象。例:ASCII,指令系統(tǒng)等長編碼:表示一組對象的二進制位串的長度相等。不等長編碼:表示一組對象的二進制位串的長度不相等。不等長編碼什么情況下空間效率高?等長編碼什么情況下空間效率高?7.9哈夫曼樹及其應(yīng)用第14頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用前綴編碼:一組編碼中任一編碼都不是其它任何一個編碼的前綴。前綴編碼保證了在解碼時不會有多種可能。
第15頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用哈夫曼樹:給定一組具有確定權(quán)值的葉子結(jié)點,帶權(quán)路徑長度最小的二叉樹。例:給定4個葉子結(jié)點,其權(quán)值分別為{2,3,4,7},可以構(gòu)造出形狀不同的多個二叉樹。
WPL=32WPL=41WPL=30234723477423第16頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用哈夫曼樹的特點:1.權(quán)值越大的葉子結(jié)點越靠近根結(jié)點,而權(quán)值越小的葉子結(jié)點越遠離根結(jié)點。2.只有度為0(葉子結(jié)點)和度為2(分支結(jié)點)的結(jié)點,不存在度為1的結(jié)點.
234723477423第17頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用第1步:初始化W={2,3,4,5}
哈夫曼樹的構(gòu)造過程3524第2步:選取與合并32
5第3步:刪除與加入5432
5第18頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用W={2,3,4,5}
哈夫曼樹的構(gòu)造過程重復(fù)第2步5432
554
9重復(fù)第3步
554
932第19頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用重復(fù)第2步重復(fù)第3步
554
932
554
93214W={2,3,4,5}
哈夫曼樹的構(gòu)造過程第20頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用例:一組字符{A,B,C,D,E,F,G}出現(xiàn)的頻率分別是{9,11,5,7,8,2,3},設(shè)計最經(jīng)濟的編碼方案。第21頁,共24頁,2023年,2月20日,星期六7.9哈夫曼樹及其應(yīng)用9523510191126871545000000111111ABDCEFG編碼方案:A:00B:10C:010D:110E:111F:0110G:0111第22頁,共24頁,2023年,2月20日,星期六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第23頁,共24頁,2023年,2月20日,星期六樹結(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 304鋼水箱施工方案
- 小學(xué)課本劇《巨人的花園》-劇本
- 教師安全知識培訓(xùn)課件
- 江蘇省無錫市長涇片重點名校2025屆中考生物猜題卷含解析
- 臨時導(dǎo)游聘用合同范例
- 供配電安裝合同范例
- 單位內(nèi)部組織合同范例
- 供貨訂貨合同范例
- 倉庫財務(wù)成本控制方案計劃
- 常規(guī)班級活動的周期性評估計劃
- (高清版)JTGT 3650-01-2022 公路橋梁施工監(jiān)控技術(shù)規(guī)程
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(正式版)
- MOOC 跨文化交際通識通論-揚州大學(xué) 中國大學(xué)慕課答案
- GB/T 28799.2-2020冷熱水用耐熱聚乙烯(PE-RT)管道系統(tǒng)第2部分:管材
- 2023-瑞幸咖啡vi手冊
- 10000中國普通人名大全
- 首件檢驗作業(yè)流程控制卡
- 身份證號碼轉(zhuǎn)換工具
- 人教版八年級下冊數(shù)學(xué)章末培優(yōu)試題:第十八章《平行四邊形》
- 口腔診所器材清單
- 解決方案員工安全教育培訓(xùn)手冊
評論
0/150
提交評論