樹的特點
n個節點構成的有限集合
除了根節點以外的成為原來樹的子樹
子樹是不相交的
除了根節點外,每個節點有些只有乙個父節點
一顆n個節點的書有n-1條邊
結點的度:結點的子樹個數
樹的度:樹的所有節點中最大的度數
二叉樹
採用兒子兄弟標誌法的樹,即有乙個左指標指向兒子,乙個右指標指向兄弟,可以減少空間的浪費
特殊二叉樹
斜二叉樹
完美二叉樹(滿二叉樹)
國內定義:每一層的節點都達到最大值,即為滿二叉樹,如圖左
國外定義:滿二叉樹的結點要麼是葉子結點,度為0,要麼是度為2的結點,不存在度為1的結點。如圖右
所以,國內外的定義不同,在不同的書中可能也有出入,需要注意
完全二叉樹
簡單地說就是滿二叉樹去掉最底層的部份元素的樹(只能去掉底層的元素)
二叉樹的幾個重要性質:
1.乙個二叉樹第i層的最大節點數為2^(i-1),i>=1
2.深度為k的二叉樹的最大節點總數為:2^(k-1),k>=1
3.對於任何非空二叉樹t,若n0表示葉節點的個數,n1是度為1的非葉節點個數,則n2是度為2的非葉節點個數
滿足關係:n0=n2+1
資料結構 二叉樹 反轉二叉樹
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 ...
python資料結構樹和二叉樹簡介
一 樹的定義 樹形結構是一類重要的非線性結構。樹形結構是結點之間有分支,並具有層次關係的結構。它非常類似於自然界中的樹。樹的遞迴定義 樹 tree 是n n 0 個結點的有限集t,t為空時稱為空樹,否則它滿足如下兩個條件 1 有且僅有乙個特定的稱為根 root 的結點 2 其餘的結點可分為m m 0...
《資料結構》 二叉樹
二叉樹 是 n個結點的有限集,它或為空集,或由乙個根結點及兩棵互不相交的 分別稱為該根的左子樹和右子樹的二叉樹組成。二叉樹不是樹的特殊情況,這是兩種不同的資料結構 它與無序樹和度為 2的有序樹不同。二叉樹的性質 1 二叉樹第 i層上的結點數最多為 2 i 1 2 深度為 k的二叉樹至多有 2 k 1...