資料結構 樹與二叉樹

2022-09-09 19:54:21 字數 1248 閱讀 8526

樹(tree)是n(n>=0)個結點的有限集。n=0時稱為空樹。在任意一顆非空樹中:

有且僅有乙個特定的稱為根(root)的結點;

當n>1時,其餘結點可分為m(m>0)個互補互動的有限集t1、t2…tm,其中每乙個集合本身又是一棵樹,並稱為根的子樹(subtree)。

二叉樹是另一種樹形結構,其特點是每個結點至多只有兩顆子樹(即二叉樹中不存在度大於2的結點),並且,二叉樹的子樹有左右之分,其次序不能任意顛倒。

與樹相似,二叉樹也以遞迴的形式定義。二叉樹是n(n≥0)個結點的有限集合:

①或者為空二叉樹,及n=0。

②或者由乙個根結點和兩個互不相交的稱為根的左子樹和右子樹組成。左子樹和右子樹又分別是一棵二叉樹。

二叉樹有五種不同的基本形態: a:空二又樹 b:只有乙個根結點的二叉樹 c:右子樹為空的二叉樹 d:左子樹為空的二叉樹 e:左、右子樹都非空的二叉樹

陣列和鍊錶都可以用來表示二叉樹,當然如果你想,字串也可以用來表示樹。

我們還可以自己定義二叉樹的資料結構,比如

@data

public class tree

二叉搜尋樹是一種節點值之間具有一定數量級次序的二叉樹,對於樹中每個節點:

若其左子樹存在,則其左子樹中每個節點的值都不大於該節點值;

若其右子樹存在,則其右子樹中每個節點的值都不小於該節點值。

r-b tree,全稱是red-black tree,又稱為「紅黑樹」,它一種特殊的二叉查詢樹。紅黑樹的每個節點上都有儲存位表示節點的顏色,可以是紅(red)或黑(black)。

紅黑樹的特性:

(1)每個節點或者是黑色,或者是紅色。

(2)根節點是黑色。

(3)每個葉子節點(nil)是黑色。 [注意:這裡葉子節點,是指為空(nil或null)的葉子節點!]

(4)如果乙個節點是紅色的,則它的子節點必須是黑色的。

(5)從乙個節點到該節點的子孫節點的所有路徑上包含相同數目的黑節點。

二叉樹的遍歷

void tr**erse(treenode root)
引用

二叉樹的基本概念

【資料結構】樹的定義和樹的三種儲存結構

資料結構 樹與二叉樹

一 性質 1 在二叉樹中,第i層的結點總數不超過2 i 1 2 深度為h的二叉樹最多有2 h 1個結點 h 1 最少有h個結點 3 對於任意一棵二叉樹,如果其葉結點數為n0,而度數為2的結點總數為n2,則n0 n2 1 4 具有n個結點的完全二叉樹的深度為int log2n 1 5 給定n個節點,能...

資料結構 樹與二叉樹

1 樹的定義 樹是一種 非線性的資料結構。樹是n n 0 個結點的有限集,在任意一棵非空樹中 1 有且僅有乙個特定的被稱為 根 root 的結點 2 當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是一棵樹,並且稱為根的 子樹 subtree 3 每棵子樹也是由唯一的根結...

資料結構 樹與二叉樹

樹是一類重要的非線性資料結構,是以分支關係定義的層次結構 定義 樹 tree 是n n 0 個結點的有限集t,其中 有且僅有乙個特定的結點,稱為樹的根 root 當n 1時,其餘結點可分為m m 0 個互不相交的有限集t1,t2,tm,其中每乙個集合本身又是一棵樹,稱為根的子樹 subtree 特點...