依賴注入框架Autofac的簡單使用
阿新 • • 發佈:2020-10-21
二叉樹
一、樹簡介
-
樹
樹是一種藉助於複雜節點結構完成的一種資料結構。
樹(Tree)是n(n>=0)個結點的有限集。n=0時稱為空樹。在任意一顆非空樹中:- 有且僅有一個特定的稱為根(Root)的結點;
- 當n>1時,其餘結點可分為m(m>0)個互不相交的有限集\(T_1\)、\(T_2\)、......、\(T_n\),其中每一個集合本身又是一棵樹,並且稱為根的子樹。
- 此外,樹的定義還需要強調:
- n>0時根結點是唯一的,不可能存在多個根結點,資料結構中的樹只能有一個根結點。
- m>0時,子樹的個數沒有限制,但它們一定是互不相交的。
- 節點的度
度就是說明本節點 具有的孩子節點的數目 - 節點關係
父親節點,孩子節點。 - 樹深度
先說明層的概念,從root
開始為第一層,依次類推得到深度。
深度為\(k\)的滿二叉樹,具有\(2^{k+1}-1\)個節點,也就是一個簡單的等比數列求和,不難理解。
二、二叉樹
-
二叉樹是n(n>=0)個結點的有限集合,該集合或者為空集(稱為空二叉樹),或者由一個根結點和兩棵互不相交的、分別稱為根結點的左子樹和右子樹組成。
-
性質
-
在二叉樹的第i層上最多有2i-1 個節點 。(i>=1)
-
二叉樹中如果深度為k,那麼最多有\(2^k-1\)個節點。(k>=1)
-
\(n_0=n_2+1\)
-
在完全二叉樹中,具有n個節點的完全二叉樹的深度為\(\lfloor {log_2n} \rfloor\)+1。
-
若對含 n 個結點的完全二叉樹從上到下且從左至右進行 1 至 n 的編號,則對完全二叉樹中任意一個編號為$ i$ 的結點有如下特性:
(1) 若 i=1,則該結點是二叉樹的根,無雙親, 否則,編號為 \(\lfloor\frac{i}{2} \rfloor\)的結點為其雙親結點;
(2) 若 \({2i}\gt{n}\),則該結點無左孩子, 否則,編號為 2i 的結點為其左孩子結點;
(3) 若\({2i+1}\gt{n}\)
(目前還沒寫完)
-