




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6.1樹的基本概念6.2
二叉樹6.3遍歷二叉樹和線索二叉樹6.4樹和森林6.5哈夫曼樹及其應(yīng)用6.4.1樹樹和二叉樹的區(qū)別:(1)二叉樹至多有兩個(gè)子樹,樹則不然;(2)二叉樹的子樹有左右之分,而樹的子樹沒有次序;(3)二叉樹允許樹為空,樹一般不允許為空(個(gè)別教材允許為空)6.4.1樹的存儲(chǔ)結(jié)構(gòu)1.雙親表示法2.孩子表示法3.孩子兄弟表示法最常用6.4.1樹的存儲(chǔ)結(jié)構(gòu)1.雙親表示法用一組連續(xù)的存儲(chǔ)空間來存儲(chǔ)樹的結(jié)點(diǎn),同時(shí)在每個(gè)結(jié)點(diǎn)中附加一個(gè)指示器(整數(shù)域)
,用以指示雙親結(jié)點(diǎn)的位置(下標(biāo)值)。結(jié)點(diǎn)的結(jié)構(gòu)表示:DataParent樹的結(jié)點(diǎn)結(jié)構(gòu)定義:typedefstructPTNode{ElemTypedata;intparent;}PTNode;6.4.1樹的存儲(chǔ)結(jié)構(gòu)
1.雙親表示法#defineMAX_SIZE100typedefstruct{PTNodeNodes[MAX_SIZE];intnum;/*結(jié)點(diǎn)數(shù)*/}Ptree;FGHIRABCDER-10A01B02C03D14E15F36G67H68I69......10~MAX_Size-16.4.1樹的存儲(chǔ)結(jié)構(gòu)2.孩子表示法每個(gè)結(jié)點(diǎn)的孩子結(jié)點(diǎn)構(gòu)成一個(gè)單鏈表,即有n個(gè)結(jié)點(diǎn)就有n個(gè)孩子鏈表;n個(gè)孩子的數(shù)據(jù)和n個(gè)孩子鏈表的頭指針組成一個(gè)順序表;結(jié)點(diǎn)結(jié)構(gòu)定義:typedefstructPTNode{ElemTypedata;structPTNode*next;}PTNode;順序表定義:#defineN6/*結(jié)點(diǎn)數(shù)*/PTNodeNodes[N];6.4.1樹的存儲(chǔ)結(jié)構(gòu)6123451021324∧35∧46∧56∧23∧45∧
6.4.1樹的存儲(chǔ)結(jié)構(gòu)3.孩子兄弟表示法(二叉樹表示法)以二叉鏈表作為樹的存儲(chǔ)結(jié)構(gòu)。鏈表中每個(gè)結(jié)點(diǎn)有兩個(gè)鏈域,分別指向第一個(gè)孩子結(jié)點(diǎn)和下一個(gè)兄弟(右兄弟)結(jié)點(diǎn)。第一個(gè)孩子結(jié)點(diǎn)下一個(gè)兄弟結(jié)點(diǎn)firstchilddatanextsibing6.4.1樹的存儲(chǔ)結(jié)構(gòu)typedefstructCSnode{ElemTypedata;structCSnode*firstchild,*nextsibing;}CSNode;6.4.1樹的存儲(chǔ)結(jié)構(gòu)FGRABCDE
R?
A?D
C??G?B?F??E?6.4.2樹、森林和二叉樹的轉(zhuǎn)換1.樹轉(zhuǎn)換為二叉樹將樹轉(zhuǎn)換成二叉樹在“孩子兄弟表示法”中已給出,其詳細(xì)步驟是:⑴加線。在樹的所有相鄰兄弟結(jié)點(diǎn)之間加一條連線。⑵去連線。除最左的第一個(gè)子結(jié)點(diǎn)外,父結(jié)點(diǎn)與所有其它子結(jié)點(diǎn)的連線都去掉。⑶旋轉(zhuǎn)。將樹以根結(jié)點(diǎn)為軸心,順時(shí)針旋轉(zhuǎn)450,使之層次分明。6.4.2樹、森林和二叉樹的轉(zhuǎn)換(a)一般的樹
FGRABCDEFGRABCDE(b)加虛線,去連線后
(C)轉(zhuǎn)換后的二叉樹FGRACDBE6.4.2樹、森林和二叉樹的轉(zhuǎn)換2.森林轉(zhuǎn)化為二叉樹將F={T1,T2,?,Tn}中的每棵樹轉(zhuǎn)換成二叉樹。按森林中樹的次序,后一棵樹作為前一棵樹的根結(jié)點(diǎn)的右子樹,依次類推,則第一棵樹的根結(jié)點(diǎn)就是轉(zhuǎn)換后生成的二叉樹的根結(jié)點(diǎn)。ACBDGMLHK(a)森林(b)森林中每棵樹對(duì)應(yīng)的二叉樹ABCDGLKHM(c)森林對(duì)應(yīng)的二叉樹ABCDGLKHM6.4.2樹、森林和二叉樹的轉(zhuǎn)換3.二叉樹轉(zhuǎn)換為樹或森林其步驟是:⑴加虛線。若某結(jié)點(diǎn)是其父結(jié)點(diǎn)的左孩子,則將該結(jié)點(diǎn)的右孩子、右孩子的右孩子、...,都與該結(jié)點(diǎn)的父結(jié)點(diǎn)加虛線相連,如圖(a)所示。⑵去連線。去掉原二叉樹中所有父結(jié)點(diǎn)與其右孩子之間的連線,如圖(b)所示。⑶規(guī)整化。將圖中各結(jié)點(diǎn)按層次排列且將所有的虛線變成實(shí)線,整理得到樹或者森林,如圖(c)所示。6.4.2樹、森林和二叉樹的轉(zhuǎn)換(C)還原后的樹FGRABCDE(a)加虛線后FGRACDBE(b)去連線后CFGRADBE6.4.2樹、森林和二叉樹的轉(zhuǎn)換二叉樹
CERADB
R?
A?D??C?
B?E?樹
RABCDE對(duì)應(yīng)關(guān)系
R?
A?D??C?
B?E??C?
B?E?
R
A?D?存儲(chǔ)解釋存儲(chǔ)解釋練習(xí)如圖所示的二叉樹BT是由森林T1轉(zhuǎn)換而來的二叉樹,那么森林T1中有()葉子結(jié)點(diǎn)。ABCDELKHM技巧:無左孩子者即為葉子結(jié)點(diǎn)56.4.3樹和森林的遍歷1.樹的遍歷由樹結(jié)構(gòu)的定義可知,樹的遍歷有二種方法。⑴先序遍歷:先訪問根結(jié)點(diǎn),然后依次先序遍歷完每棵子樹。⑵后序遍歷:先依次后序遍歷完每棵子樹,然后訪問根結(jié)點(diǎn)。等價(jià)于對(duì)應(yīng)二叉樹的先序遍歷等價(jià)于對(duì)應(yīng)二叉樹的中序遍歷6.4.3樹和森林的遍歷先序遍歷的次序是:ABCDEFGIJHK后序遍歷的次序是:CDBFIJGHEKAABDCKGJIFHE6.4.3樹和森林的遍歷1.森林的遍歷⑴先序遍歷:按先序遍歷樹的方式依次遍歷F中的每棵樹。(2)中序遍歷:按中序遍歷樹的方式依次遍歷F中的每棵樹。等價(jià)于樹的先序遍歷等價(jià)于樹的后序遍歷6.4樹和森林1、樹的存儲(chǔ)結(jié)構(gòu):孩子兄弟表示法(二叉鏈表表示法)---掌握2、樹、森林和二叉樹之間的轉(zhuǎn)換:把樹的孩子兄弟表示法解釋為二叉樹的二叉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年員工工資保密協(xié)議模板
- 第四單元-兩、三位數(shù)除以一位數(shù)(單元測(cè)試)-蘇教版數(shù)學(xué)三年級(jí)上冊(cè)(含解析)-
- 期末學(xué)業(yè)水平測(cè)試題(卷)-語文三年級(jí)上冊(cè)(部編版)
- 2025年黑龍江建筑職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫1套
- 2025年湖南省湘潭市單招職業(yè)傾向性測(cè)試題庫參考答案
- 中學(xué)非球類運(yùn)動(dòng)教學(xué)設(shè)計(jì)
- 專題18 電功率-2025年中考《物理》一輪復(fù)習(xí)知識(shí)清單與解題方法
- 2025年度土地承包種植與農(nóng)業(yè)科技成果轉(zhuǎn)化合同
- 2025年度云計(jì)算服務(wù)器采購及運(yùn)維服務(wù)合同
- 2025年度員工向公司借款合同爭(zhēng)議處理規(guī)則合同
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 張祖慶祖父的園子教學(xué)課件
- 人教版《道德與法治》二年級(jí)下冊(cè)全冊(cè)優(yōu)秀課件
- 《現(xiàn)代漢語語法》PPT課件(完整版)
- 性病實(shí)驗(yàn)室檢測(cè)與質(zhì)量管理
- 高樁碼頭施工組織設(shè)計(jì)(福建)
- 這一封書信來得巧
- 監(jiān)獄服裝加工企業(yè)開展全面
- 標(biāo)書密封條格式模版(共19頁)
- 小學(xué)一年級(jí)硬筆書法入門(課堂PPT)
- ARM學(xué)習(xí)資料.Cortex-M3處理器體系結(jié)構(gòu)
評(píng)論
0/150
提交評(píng)論