1.樹的定義
樹( tree』 )是n(n~o) 個結點的有限集。n=o 時稱為空樹。在任意-棵非空樹中: ( 1 )有且僅有-個特定的稱為根( root )的結點: (2) 當n>1 時,其餘結點可分為m (m>o) 個互不相變的有限集t1 、t2、……、tm . 奠中每乙個集合本身又是一槐樹,並且稱為根的子樹( subtree )
節點分類
2.樹的概念
(1)深度:樹中結點的最大層次稱為樹的深度( dep也)或高度
(2)樹的儲存結構
3.二叉樹的定義
二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」和「右子樹」,左子樹和右子樹同時也是二叉樹。二叉樹的子樹有左右之分,並且次序不能任意顛倒。二叉樹是遞迴定義的,所以一般二叉樹的相關題目也都可以使用遞迴的思想來解決,當然也有一些可以使用非遞迴的思想解決,***列出的一些演算法有些採用了遞迴,有些是非遞迴的。
4.二叉樹的分類
(1)滿二叉樹
除葉子節點外,所有節點的度都為2
(2)完全二叉樹
5.二叉樹的性質
6.哈夫曼樹
(1)定義
哈夫曼樹是一種帶權路徑長度最短的二叉樹,也稱為最優二叉樹
(2)構建哈夫曼樹
本人才疏學淺,若有錯請指出
謝謝!
資料結構 二叉樹 反轉二叉樹
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.二叉樹的實現 有兩種實現方式,...