- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 樹 5.1 緒論 5.2 二元樹 5.3 二元樹的追蹤與樹的疊代函式 5.4 其他二元樹的運算 5.5 引線二元樹 5.6 堆積 5.7 二元搜尋樹 5.8 選取樹 5.9 樹林 5.10 集合表示法 5.11 樹狀資料結構的物件導向系統 5.12 二元樹計數 5.1 緒論5.1.1 專有名詞 定義:樹狀結構是一個或多個節點的有限集合,它滿足: (1) 有一個特定的節點稱為根節點(root)。 (2) 其餘的節點分成n ≥ 0 個獨立的集合T1, …, Tn,其中的各個集合是一個樹狀結構。我們稱T1, …, Tn為根節點的子樹( subtree )。 Pedigree Genealogical Chart Lineal Genealogical Chart 5.1.1 專有名詞(續) 樹狀結構: 在畫樹狀結構圖時,通常將樹的根節點畫在最上面。 一個節點的分支度( degree )為此節點的子樹個數。 樹狀結構的分支度為在此樹中最大的節點分支度。 分支度為零的節點稱為葉節點( leaf )或終端節點( terminal )。 具有子樹的節點,為其子樹的根之父節點( parent ),而子樹的根為此節點的子節點( children )。 具有同一個父節點的節點稱為兄弟( siblings )。 5.1.1 專有名詞(續) 一個節點的祖先( ancestors )為從根節點到此節點路徑上之所有節點。 一個節點的後代( descendants )為在他的子樹之所有節點。 我們以根節點位在階層1來定義一個節點的階層。對於其下的所有節點,其階層為父節點的階層加1。 一個樹的高度( height )或深度( depth )為此樹中任一個節點最大的階層數。 A Sample Tree 5.1.2 樹的表示法5.1.2.1 串列表示法 圖5.2樹的串列表示法 5.1.2.1 串列表示法(續) 上圖中的樹可寫成一個串列,其中的每一子樹也是一個串列。 ( A ( B ( E ( K, L),F ), C( G ), D( H( M ), I, J ) ) ) 考慮在記憶體中的樹狀結構表示法。如果要以鏈結串列表示,則一個節點會有不同的欄位個數,是其分支的個數而定。 圖5.4:分支度為k的一種可能節點結構 5.1.2.2 左子右兄弟示法 左子-右弟表示法: 每一個節點剛好需要兩個鏈結( 或指標 )欄位。 每一個節點只有一個最左( left most )子節點,以及一個近右( closest right )兄弟節點。 5.1.2.3 二分支度的樹表示法 圖5.2樹的左右子樹表示法 5.1.2.3 二分支度的樹表示法 樹的表示法 5.2 二元樹5.2.1 抽象資料型態 定義:二元樹是節點的有限集合,他可能是空的,或者包含一個根節點及兩個獨立的二元樹,分別稱為左子樹跟右子樹。 沒有樹可以是0個節點的,但可以有空的二元樹。 在二元樹中我們要區別子樹的順序,而樹則不必。 兩個不同的二元樹 傾斜和完整的二元樹 5.2.2 二元樹特性 引理5.2[最大節點數]: 在二元樹的階層i上最多的節點個數為2i-1 , i ≥ 1。 在深度為k的二元樹中最多的節點個數為2k – 1 , k ≥ 1。 引理5.3[樹葉節點數與二分支度節點之間的關係]: 對任何一個非空的二元樹T,如果n0為葉節點的個樹, n2為分支度為2的節點個數,則n0 = n2 + 1 。 定義:一個深度為k的完全二元樹( full binary tree )即是深度為k且2k – 1具個節點, k ≥ 0的二元樹。 5.2.2 二元樹特性(續) 定義:一個二元樹有n個節點且深度為k,若且惟若他的節點和一個深度為k的完全二元樹中編號從1到n的節點一致時,就稱他為完整二元樹。 具有循序節點編號的分支度4之完滿二元樹 5.2.3 二元樹表示法5.2.3.2 陣列表示法 引理5.4:若一個有n節點的完整二元樹是以循序法表示,則對任一節點i, 1 ≤ i ≤ n,我們可得: (1) parent (i)位在,i≠1。如果i=1,i為根節點,且沒有父節點。 (2) left_child( i )位在2i,若2i ≤ n。如果2i n,則i沒有左子節點。 (3) right_child(i)位在2i+1,若 2i + 1 ≤ n。如果2i + 1 n ,則i沒有右子節點。 證明:現在假設對所有的i, 1 ≤ j ≤ i,left_child(j) 位在2j。則
您可能关注的文档
最近下载
- SGP胶片流程作业指导书(含附属全套EXCEL作业指引).pdf VIP
- USG6000E系列防火墙硬件规格说明书.docx
- 2025齐齐哈尔医学院辅导员考试试题及答案.docx VIP
- PLC应用技术(S7-1200)(微课版)教案全套.docx
- 标准的测试用例模板(仅用于学习的参考模板).doc VIP
- DB31-30-2003 住宅装饰装修验收标准.pdf VIP
- 西安地铁电缆事件工程伦理案例分析.ppt VIP
- 电路分析简明教程第三版傅恩锡习题答案.docx VIP
- 含高清图经络穴位歌诀及白话解.doc VIP
- 2020年高考物理备考微专题精准突破专题1.11 动力学中的传送带问题(解析版).pdf VIP
文档评论(0)