-
二叉樹
鎖定
二叉樹(Binary tree)是樹形結構的一個重要類型。許多實際問題抽象出來的數據結構往往是二叉樹形式,即使是一般的樹也能簡單地轉換為二叉樹,而且二叉樹的存儲結構及其算法都較為簡單,因此二叉樹顯得特別重要。二叉樹特點是每個節點最多隻能有兩棵子樹,且有左右之分
[1]
。
二叉樹是n個有限元素的集合,該集合或者為空、或者由一個稱為根(root)的元素及兩個不相交的、被分別稱為左子樹和右子樹的二叉樹組成,是有序樹。當集合為空時,稱該二叉樹為空二叉樹。在二叉樹中,一個元素也稱作一個節點
[1]
。
- 中文名
- 二叉樹
- 外文名
- Binary Tree
- 概 述
- 計算機中數據結構的一種
- 簡 介
- 每個結點最多有兩個子樹的樹結構
- 應用學科
- 計算機科學
- 存儲方式
- 順序存儲、鏈式存儲
二叉樹定義
二叉樹(binary tree)是指樹中節點的度不大於2的有序樹,它是一種最簡單且最重要的樹。二叉樹的遞歸定義為:二叉樹是一棵空樹,或者是一棵由一個根節點和兩棵互不相交的,分別稱作根的左子樹和右子樹組成的非空樹;左子樹和右子樹又同樣都是二叉樹
[2]
。
二叉樹基本形態
二叉樹特殊類型
二叉樹相關術語
二叉樹二叉樹性質
性質4:具有n個節點的滿二叉樹深為log2n+1。
二叉樹二叉樹遍歷
遍歷是對樹的一種最基本的運算,所謂遍歷二叉樹,就是按一定的規則和順序走遍二叉樹的所有節點,使每一個節點都被訪問一次,而且只被訪問一次。由於二叉樹是非線性結構,因此,樹的遍歷實質上是將二叉樹的各個節點轉換成為一個線性序列來表示
[7]
。
二叉樹線索二叉樹
按照某種遍歷方式對二叉樹進行遍歷,可以把二叉樹中所有節點排列為一個線性序列。在該序列中,除第一個節點外,每個節點有且僅有一個直接前驅節點;除最後一個節點外,每個節點有且僅有一個直接後繼節點。但是,二叉樹中每個節點在這個序列中的直接前驅節點和直接後繼節點是什麼,二叉樹的存儲結構中並沒有反映出來,只能在對二叉樹遍歷的動態過程中得到這些信息。為了保留節點在某種遍歷序列中直接前驅和直接後繼的位置信息,可以利用二叉樹的二叉鏈表存儲結構中的那些空指針域來指示。這些指向直接前驅節點和指向直接後繼節點的指針被稱為線索(thread),加了線索的叉樹稱為線索二叉樹
[8]
。
- 參考資料
-
- 1. 周延森編著,數據結構,北京郵電大學出版社,2019.01,第133頁
- 2. 劉遵仁主編;湯雷副主編,數據結構,北京郵電大學出版社,2018.08,第115頁
- 3. 謝華龍,李飛,呂昊主編,計算機輔助設計基礎,東北大學出版社,2016.11,第97頁
- 4. 姜君娜,安永麗,張立生著,數據結構,華南理工大學出版社,2014.07,第116頁
- 5. 馬宏茹,吳璞,姚保峯主編;殷曉玲,周昊副主編,普通高等教育“十三五”創新型規劃教材 數據結構,中國礦業大學出版社,2018.08,第111頁
- 6. 董萍萍,李冶,雷學鋒主編,數據結構,吉林大學出版社,2017.08,第122頁-第123頁
- 7. 汪長喜主編,信息學、語言學、數學與邏輯一本通 上,哈爾濱工業大學出版社,2018.01,第342頁
- 8. 鄧玉潔,算法與數據結構 C語言版,北京郵電大學出版社,2017.10,第116頁