data structure 樹的一些基本概念

2022-08-30 15:03:26 字數 523 閱讀 5604

定義:乙個樹,每個內部節點,最多只有兩個子節點,每個節點的子節點是有序的,一般稱為left child和right child。

遞迴的定義:乙個樹有乙個單個根節點,或者乙個樹其根節點有兩個有序的子節點,每個節點又是乙個二叉樹的根節點。

對於非空二叉樹t,\(n_0\)為葉子節點數,而\(n_2\)是度2節點數,則有\(n_0=n_2+1\)

設\(n,b\)分別為二叉樹的節點總數和二叉樹的分叉數,\(n_0, n_1, n_2\)分別為度0,1,2節點的個數,則有\(b+1=n\),\(b=n_1+n_2\),聯立消去\(b\),則有\(n_1+2n_2+1=n\),又有\(n_0+n_1+n2=n\),則得出\(n_0=n_2+1\)。

給定高度\(k\),一共有\(2^-1\)個節點的二叉樹,是滿二叉樹。

用數字來標記二叉樹,從上到小,從左到右,數字依次遞增。

相對於滿二叉樹來說,完全二叉樹最後一層不是滿的,也就是說,最後一層的節點個數不是\(2^i\)但要大於1。

兩種方式,一種是鏈式結構,一種是連續的陣列方式。

Data Structure 二叉樹的建立儲存

對於二叉樹,我認為以下幾點時要注意的 1 第一點是二叉樹的一些概念要弄明白,比如二叉樹的高度和深度,高度是從下往上數的,而深度是從上往下數的 還有比如完全二叉樹和滿二叉樹 完美二叉樹 的定義,都是一些非常重要的概念,完美二叉樹每乙個節點都有兩個兒子,一直到最後的葉節點 而完全二叉樹的最後一層,可以從...

DataStructure 解釋二叉排序樹

兩組測試資料 include include define endkey 0 typedef int keytype typedef struct node bstnode,bstree void insertbst bstree t,keytype key 若在二叉排序樹中不存在關鍵字等於key的...

Data Structure 之 最優二叉樹

給定n個權值作為n的葉子結點,構造一棵二叉樹,若帶權路徑長度達到最小,稱這樣的二叉樹為最優二叉樹,也稱為哈夫曼樹 huffman tree 哈夫曼樹是帶權路徑長度最短的樹,權值較大的結點離根較近。最優二叉樹的總結點數為2n 1。1 路徑和路徑長度 在一棵樹中,從乙個結點往下可以達到的孩子或孫子結點之...