




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
選擇性必修1《數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)》4.3用抽象數(shù)據(jù)類型表示二叉樹(shù)|一、樹(shù)tree|樹(shù)tree|線性關(guān)系:即每一個(gè)數(shù)據(jù)元素通常只有一個(gè)前驅(qū)(除第一個(gè)元素外)和一個(gè)后繼(除最后一個(gè)元素外);如:隊(duì)列,棧非線性結(jié)構(gòu):至少存在一個(gè)結(jié)點(diǎn)(數(shù)據(jù)元素)有多于一個(gè)前驅(qū)或后繼的數(shù)據(jù)結(jié)構(gòu);如:樹(shù),圖樹(shù)tree|在我們?nèi)粘I钪?,?shù)形結(jié)構(gòu)廣泛存在。王貴王永勝王家莉王永前王家棟王家梁王家輝家族成員關(guān)系樹(shù)樹(shù)tree1.樹(shù)的定義樹(shù)是n(n>0)個(gè)結(jié)點(diǎn)的有限集,在任意一棵非空樹(shù)中:①有且僅有一個(gè)特定的結(jié)點(diǎn)稱為根;②當(dāng)n>1時(shí),其余結(jié)點(diǎn)分為m(m>0)棵互不相交的有限子樹(shù),每棵子樹(shù)又是一棵樹(shù)。樹(shù)tree2.結(jié)點(diǎn)的分類
①根結(jié)點(diǎn):沒(méi)有父親的結(jié)點(diǎn)。在樹(shù)中有且僅有一個(gè)根結(jié)點(diǎn)。②分支結(jié)點(diǎn):除根結(jié)點(diǎn)外,有孩子的結(jié)點(diǎn)稱為分支結(jié)點(diǎn)。③葉結(jié)點(diǎn):沒(méi)有孩子的結(jié)點(diǎn)稱為葉結(jié)點(diǎn)。如w,h,e等為葉結(jié)點(diǎn)3.有關(guān)度的定義①結(jié)點(diǎn)的度:一個(gè)結(jié)點(diǎn)的子樹(shù)數(shù)目稱為該結(jié)點(diǎn)的度。如圖中結(jié)點(diǎn)i度為3,結(jié)點(diǎn)t的度為2,結(jié)點(diǎn)b的度為1,所有樹(shù)葉的度為0。②樹(shù)的度:所有結(jié)點(diǎn)中最大的度稱為該樹(shù)的度(也叫樹(shù)的寬度),圖中樹(shù)的度為3。樹(shù)tree4.樹(shù)的深度(高度)樹(shù)是分層次的。結(jié)點(diǎn)所在的層次是從根算起的。根結(jié)點(diǎn)在第一層,根的兒子在第二層,其余各層依次類推。同一父結(jié)點(diǎn)的所有結(jié)點(diǎn)構(gòu)成兄弟關(guān)系樹(shù)的層數(shù)稱為樹(shù)的深度(也稱為樹(shù)的高度)。上圖中樹(shù)的深度為55.森林所謂森林,是指若干棵互不相交的樹(shù)構(gòu)成的集合。如圖去掉根結(jié)點(diǎn)r,其原來(lái)的三棵子樹(shù)Ta,Tb,Tc就構(gòu)成了森林,如圖(c)二、二叉樹(shù)Binarytree||二叉樹(shù)Binarytree二叉樹(shù)是一種很重要的樹(shù)結(jié)構(gòu)特點(diǎn):每個(gè)結(jié)點(diǎn)最多有兩個(gè)孩子,且其子樹(shù)有左右之分(稱為有序樹(shù),其次序不能任意顛倒)1256743|二叉樹(shù)Binarytree1.二叉樹(shù)的遞歸定義和基本形態(tài)二叉樹(shù)是以結(jié)點(diǎn)為元素的有限集,可為空,或者滿足以下條件:⑴有一個(gè)特定的結(jié)點(diǎn)稱為根;⑵余下的結(jié)點(diǎn)分為互不相交的兩個(gè)子集L和R,其中L是根的左子樹(shù);R是根的右子樹(shù);L和R分別又是一棵二叉樹(shù);由上述定義可以看出,二叉樹(shù)和樹(shù)是兩個(gè)不同的概念,其區(qū)別為:⑴樹(shù)的每一個(gè)結(jié)點(diǎn)可以有任意多個(gè)后繼,而二叉樹(shù)中每個(gè)結(jié)點(diǎn)的后繼不能超過(guò)2個(gè)⑵樹(shù)的子樹(shù)可以不分次序(除有序樹(shù)外);而二叉樹(shù)的子樹(shù)有左右之分。我們稱二叉樹(shù)中結(jié)點(diǎn)的左后繼為左兒子,右后繼為右兒子。1256743|二叉樹(shù)Binarytree下圖列出二叉樹(shù)的五種基本形態(tài):空二叉樹(shù)只有一個(gè)根結(jié)點(diǎn)的二叉樹(shù)只有左子樹(shù)的二叉樹(shù)只有右子樹(shù)的二叉樹(shù)左、右子樹(shù)均有的二叉樹(shù)|二叉樹(shù)Binarytree2.常見(jiàn)的兩種二叉樹(shù)⑴滿二叉樹(shù):如果一棵深度為K的二叉樹(shù),共有2K-1個(gè)結(jié)點(diǎn),即第i層有2i-1的結(jié)點(diǎn),則稱為滿二叉樹(shù)⑵完全二叉樹(shù):如果一棵二叉樹(shù)最多只有最下面兩層結(jié)點(diǎn)度數(shù)可以小于2,并且最下面一層的結(jié)點(diǎn)都集中在該層最左邊的若干位置上,則稱為完全二叉樹(shù)注意:滿二叉樹(shù)一定是完全二叉樹(shù),但是完全二叉樹(shù)不一定是滿二叉樹(shù)136754213675428910三、二叉樹(shù)的抽象數(shù)據(jù)類型Abstractdatatypeofbinarytree|二叉樹(shù)的抽象數(shù)據(jù)類型Abstractdatatypeofbinarytree|二叉樹(shù)的抽象數(shù)據(jù)類型的數(shù)據(jù)部分為一棵用任一種方式表示的二叉樹(shù)操作部分包括初始化二叉樹(shù)、建立二叉樹(shù)、遍歷二叉樹(shù)、查找二叉樹(shù)、輸出二叉樹(shù)和清除二叉樹(shù)等常用操作。下面給出二叉樹(shù)的抽象數(shù)據(jù)類型的參考定義:二叉樹(shù)的抽象數(shù)據(jù)類型Abstractdatatypeofbinarytree|四、二叉樹(shù)的基本操作方法Basicoperationmethodofbinarytree|二叉樹(shù)的基本操作方法Basicoperationmethodofbinarytree|二叉樹(shù)的基本操作較多,下面以遍歷為例,了解二叉樹(shù)的基本操作方法。遍歷是二叉樹(shù)的一種基本操作,是指按一定的次序訪問(wèn)樹(shù)中所有結(jié)點(diǎn),并且每個(gè)結(jié)點(diǎn)的值僅被訪問(wèn)一次的過(guò)程。由于二叉樹(shù)是非線性結(jié)構(gòu),因此二叉樹(shù)的遍歷實(shí)質(zhì)上是將二叉樹(shù)的所有結(jié)點(diǎn)轉(zhuǎn)換成一個(gè)線性序列的過(guò)程。根據(jù)二叉樹(shù)的遞歸定義,一棵非空二叉樹(shù)由根結(jié)點(diǎn)、左子樹(shù)和右子樹(shù)所組成。因此,遍歷一棵非空二叉樹(shù)的問(wèn)題可分解為三個(gè)子問(wèn)題:訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)、遍歷右子樹(shù)。若用L、D、R分別表示遍歷左子樹(shù)、訪問(wèn)根結(jié)點(diǎn)和遍歷右子樹(shù),則對(duì)一棵二叉樹(shù)的遍歷有DLR、LDR、LRD、DRL、RDL、RLD六種情況,若限定先左后右,則只有前三種情況,分別稱為前序遍歷(或先根遍歷)、中序遍歷(或中根遍歷)、后序遍歷(或后根遍歷)。二叉樹(shù)的基本操作方法Basicoperationmethodofbinarytree|(1)前序遍歷:根左右。即先遍歷根結(jié)點(diǎn),再遍歷左子樹(shù),最后遍歷右子樹(shù)acfhgedbabdegcfh(2)中序遍歷:左根右。即先遍歷左子樹(shù),再遍歷根結(jié)點(diǎn),最后遍歷右子樹(shù)dbgeafhc(3)后序遍歷:左右根。即先遍歷左子樹(shù),再遍歷右子樹(shù),最后遍歷根結(jié)點(diǎn)dgebhfca課后任務(wù)|【表達(dá)式樹(shù)】:我們可以分別用先序、中序、后序的遍歷方法得出完全不同的遍歷結(jié)果,如對(duì)于右圖3種遍歷結(jié)果如下,它們正好對(duì)應(yīng)著表達(dá)式的3種表示方法。①-+a*b-cd/ef(前綴表示、波蘭式)②a+b*c-d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陳老師說(shuō)教育數(shù)學(xué)試卷
- 番茄主要病蟲(chóng)害的危害及針對(duì)性綠色防控對(duì)策實(shí)施
- 貴州地區(qū)的油茶種植現(xiàn)狀及高產(chǎn)栽培技術(shù)的高效實(shí)施方案探討
- 2025年冷墩鋼項(xiàng)目發(fā)展計(jì)劃
- 中外文明交流史知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春牡丹江師范學(xué)院
- 2025年有機(jī)磷系阻燃劑合作協(xié)議書
- 2017-2018學(xué)年高中生物必修2課時(shí)訓(xùn)練第2章第1節(jié)第1課時(shí)減數(shù)分裂B
- 2025年金屬非切削、成形加工機(jī)械合作協(xié)議書
- 填浜工程施工方案
- 物理選修3-5教科版全套講義第三章原子核3-2
- GB/T 18281.1-2024醫(yī)療保健產(chǎn)品滅菌生物指示物第1部分:通則
- 項(xiàng)目一 CA6140車床的操作
- DB21T 2760-2023 裝配式住宅建筑設(shè)計(jì)規(guī)程
- 2024年電力通信設(shè)備運(yùn)檢員(技師)職業(yè)鑒定考試題庫(kù)(濃縮400題)
- 封建時(shí)代的歐洲“法蘭克王國(guó)”教學(xué)課件
- 2023年檔案職稱考試真題模擬匯編(共1032題)
- 2024年北京市平谷區(qū)中考英語(yǔ)一模試卷
- 小兒疼痛的評(píng)估與護(hù)理
- 第7課《誰(shuí)是最可愛(ài)的人》課件-2023-2024學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 大學(xué)生職業(yè)規(guī)劃大賽成長(zhǎng)賽道
- 2024年大學(xué)生國(guó)家安全知識(shí)競(jìng)賽題庫(kù)及答案(200題)
評(píng)論
0/150
提交評(píng)論