資料結構 二叉樹

2021-10-07 16:53:02 字數 1526 閱讀 1044

二 二叉樹

2.3 遍歷二叉樹

樹是 n (n ≥ 0) 個結點的有限集。 n = 0 時稱為空樹。在任意一顆非空樹中:有且僅有乙個特定稱為根的結點;當 n > 1 時, 其餘結點可分為 m ( m > 0) 個互不相交的有限集 t1、 t2、······ 、tm,其中每乙個集合本身又是一棵樹,並且稱為根的子樹。

每個結點中,除了包含自身資料, 附加乙個指示器指示其雙親到鍊錶中的位置。

每個結點中,除了包含自身資料, 附加n個指示器分別指示其n個子結點在鍊錶中的位置。

每個結點中,除了包含自身資料, 附加2個指示器分別指示其第乙個孩子和右兄弟的位置。

二叉樹是 n(n ≥ 0)個 結點的有限集合,該集合或者為空集, 或者由乙個根節點和兩顆互不相交的、分別稱為根節點的左子樹和右子樹的二叉樹組成。

結點擁有的子樹的數量稱為結點的度(degree)。度為0的結點稱為葉結點(leaf)或終端結點;度不為0的結點稱為非終端結點或分支結點。樹的度是各結點的度中的最大值。

結點的層級(level)從根節點開始, 根節點為第 1 層,第 n 個結點在 第(log₂ n+ 1) 層。樹中結點的最大層級稱為樹的深度或高度(depth)。

所有的結點都只有左子樹的二叉樹叫左斜樹。所有結點都是只有右子樹的二叉樹叫右斜樹。這兩者統稱為斜樹。

在一顆二叉樹中,如果所有分支結點都存在左子樹和右子樹,並且所有葉子都在同一層,這樣的二叉樹稱為滿二叉樹。

對乙個具有 n 個 結點 的二叉樹按層序編號, 如果層序編號為i( 1 ≤ i ≤ n)的結點與同樣深度的滿二叉樹中的層序編號為 i 的結點在二叉樹中的位置完全相同, 則這顆二叉樹稱為完全二叉樹。

規則是若二叉樹為空,則返回空操作,否則先訪問根節點,然後前序遍歷左子樹, 再前序遍歷右子樹。(ps: 根左右)

如下圖所示,遍歷的順序是:abdghceif。

規則是若二叉樹為空,則返回空操作,否則從根節點開始(並不是訪問根節點),中序遍歷根節點的左子樹,然後訪問根節點,最後中序遍歷右子樹。(ps: 左根右)

如下圖所示,遍歷的順序是:gdhbaeicf。

規則是若二叉樹為空,則返回空操作,否則從左到右,先葉子後結點的方式, 先遍歷左子樹, 然後遍歷右子樹,最後訪問根節點。(ps:左右根)

如下圖所示, 遍歷的順序是:ghdbiefca。

規則是若二叉樹為空,則返回空操作,否則從樹的第 1 層開始, 按照從上往下,從左到右的方式逐個訪問結點。

如圖所示:遍歷順序:abcdefghi

資料結構 二叉樹 反轉二叉樹

include using namespace std define maxsize 1000 struct binary tree node class queue queue queue void queue push binary tree node btn binary tree node ...

《資料結構》 二叉樹

二叉樹 是 n個結點的有限集,它或為空集,或由乙個根結點及兩棵互不相交的 分別稱為該根的左子樹和右子樹的二叉樹組成。二叉樹不是樹的特殊情況,這是兩種不同的資料結構 它與無序樹和度為 2的有序樹不同。二叉樹的性質 1 二叉樹第 i層上的結點數最多為 2 i 1 2 深度為 k的二叉樹至多有 2 k 1...

資料結構 二叉樹

1.二叉樹 二叉樹是一種特殊結構的樹,每個節點中最多有兩個子節點,如圖1所示 圖1 二叉樹 在圖1中的二叉樹裡,a c有兩個子節點,b d有乙個子節點。對於二叉樹還有圖2中的以下情況 圖2 二叉樹的特殊情況 在博文中還介紹了滿二叉樹和完全二叉樹還有其他的特殊二叉樹。2.二叉樹的實現 有兩種實現方式,...