資料結構 樹(二叉樹)詳解

2021-10-06 03:47:16 字數 998 閱讀 9262

結構示意圖:

樹的常用術語(結合示意圖理解):

節點 :abcd這些都是節點

根節點:沒有父節點,a就是根節點

父節點:相對而言,a是b和c的父節點

子節點:反之,b和c就是a的子節點

葉子節點(沒有子節點的節點) :efgh就是葉子結點

節點的風(節點值)

路徑(從root節點找到該節點的路線) a到h的路徑就是 abdh

層:一共有4層

子樹:dh是a或者b的子樹

樹的高度(最大層數)

二叉樹的概念及知識點

二叉樹:每個節點最多只能有兩個子節點的一種形式稱為二叉樹。

如果該二叉樹的所有葉子節點都在最後一層,並且結點總數 = 2^n - 1,n為層數,則我們稱為 滿二叉樹。

如果該二叉樹的所有葉子節點都在最後一-層或者倒數第二層,而且最後一層的葉子節點在左邊連續,倒數第二層的葉子節點在右邊連續,我們稱為 完全二叉樹。

二叉樹的遍歷方式

前序遍歷:先輸出父節點,再遍歷左子樹和右子樹

中序遍歷:先遍歷左子樹,再輸出父節點,再遍歷右子樹

後序遍歷:先遍歷左子樹, 再遍歷右子樹,最後輸出父節點

二叉樹的遍歷思路

前序遍歷

先輸出當前節點(初始的時候是roor節點)

如果左子節點不為空,則遞迴繼續前序遍歷

如果右子節點不為空,則遞迴繼續前序遍歷

中序遍歷

如果當前節點的左子節點不為空,則遞迴中序遍歷,

輸出當前節點

如果當前節點的右子節點不為空,則遞迴中序遍歷

後序遍歷

如果當前節點的左子節點不為空,則遞迴後序遍歷,

如果當前節點的右子節點不為空,則遞迴後序遍歷

輸出當前節點

資料結構 樹,二叉樹

樹 1 樹是n n 0 個有限個資料的元素集合,形狀像一顆倒過來的樹。2 節點 結點包含資料和指向其它節點的指標。3 根節點 樹第乙個結點稱為根節點。4 結點的度 結點擁有的子節點個數。5 葉節點 沒有子節點的節點 度為0 6 父子節點 乙個節點father指向另乙個節點child,則child為孩...

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

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 n 0 個結點的有限集。結點為零的樹為空樹。任意一棵非空樹中 1.有且有乙個特定的稱為根的結點 2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每乙個集合又是一棵樹,並稱為根的子樹。1.結點擁有的子樹數稱為結點的度 2.度為0的結點稱為葉結點或分支結點,除根...