整理 關於二叉樹的基礎知識

2021-09-25 07:33:17 字數 1953 閱讀 4183

任何乙個可以用計算機求解的問題所需的計算時間都與其規模有關.問題的規模越小,解題所需的計算時間往往越少,從而也較容易處理.

分治法設計思想:將乙個難以直接解決的大問題,分割成一些規模較小的相同問題,以便各個擊破,分而治之 遞迴演算法就是由分治法設計思想產生的.

乙個直接或間接地呼叫自身的演算法稱為遞迴演算法.乙個使用函式自身給出定義的函式稱為遞迴函式

迭代是迴圈結構,遞迴是選擇結構

二叉樹(binary tree)是n(n>=0)個節點的有限集合,該集合或者為空集(稱為空二叉樹),或者由乙個根結點和兩棵互不相交的,分別稱為根結點的左子樹和右子樹的二叉樹組成. 根節點沒有雙親 葉節點沒有孩子

特點:

每個結點最多有兩棵子樹(左子樹和右子樹,不能大於兩棵,只有一棵或者是空樹都可以)

左子樹和右子樹是有順序的

即使樹中某結點只有一棵子樹,也要區分它是左子樹還是右子樹(手型對稱特點,訪問左不等於訪問右)

特殊二叉樹:

斜樹:只有左子樹的二叉樹(左斜樹),只有右子樹的二叉樹(右斜樹),結點的個數與二叉樹的深度相同

滿二叉樹:如果所有的分支結點都存在左子樹和右子樹,並且所有葉子都在同一層上,這樣的二叉樹被稱為滿二叉樹, 滿二叉樹是特殊的完全二叉樹

區域性是滿二叉樹,全域性不一定滿二叉樹, 同理可得完全二叉樹

特點:

葉子只能出現在最下一層,出現在其它層就不可能達成平衡.

非葉子節點的度(結點擁有的子樹數)一定是2

在同樣深度的二叉樹中,滿二叉樹的結點個數最多,葉子數最多

3 完全二叉樹

對於深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時稱之為完全二叉樹(編號連續)

滿二叉樹一定是完全二叉樹,完全二叉樹不一定是滿二叉樹

特點:

葉子結點只能出現在最下兩層;

最下層的葉子一定集中在左邊連續位置

倒是第二層若有葉子結點,一定都在右邊連續位置

如果結點度為1,該結點只有左孩子,不存在只有右子樹的情況;

同樣結點數的二叉樹,完全二叉樹的深度最小

二叉樹性質:1.

2.3.對任何一棵二叉樹,如果其終端結點數(葉子結點數)為n0,度為2的結點數為n2,則n0=n2+1

4.二叉樹的遍歷

前序遍歷

若二叉樹為空,則空操作返回,否則先訪問根結點,然後前序遍歷左子樹,再前序遍歷右子樹

中序遍歷

若樹為空,則空操作返回,否則從根結點開始,中序遍歷根結點的左子樹,然後訪問根結點,最後遍歷右子樹

3. 後序遍歷

若樹為空,則空操作返回,否則從左到右先葉子後結點的方式遍歷訪問左右子樹,最後訪問根結點.

4.層次遍歷

若樹為空,則空操作返回,否則從樹的第一層,也就是 根結點開始訪問,從上到下逐層遍歷,在同一層中,按從左到右的順序對結點逐個訪問.

二叉樹的基礎知識

為何要重點研究結點最多只有兩個 叉 的樹?二叉樹的結構最簡單,規律性最強 可以證明,所有樹都能轉為唯一對應的二叉樹。二叉樹的定義 定義 是n n 0 個結點的有限集合,由乙個根結點以及兩棵互不相交的 分別稱為左子樹和右子樹的二叉樹組成 邏輯結構 一對二 1 2 基本特徵 每個結點最多只有兩棵子樹 不...

二叉樹的基礎知識

1 二叉樹的定義 深度,節點層數,高度,路徑,葉節點,分支節點,根節點,父節點,左節點,右節點,兄弟節點,祖先節點,子孫節點,左子樹,右子樹。3 二叉樹的性質 性質1 二叉樹第i層上的結點數目最多為2i 1 i 1 性質2 深度為k的二叉樹至多有2k 1個結點 k 1 性質3 包含n個結點的二叉樹的...

二叉樹基礎知識總結

題外話一 樹的定義 樹是一種資料結構,它是由n n 1 個有限結點組成乙個具有層次關係的集合。樹具有的特點有 1 每個結點有零個或多個子結點 2 沒有父節點的結點稱為根節點 3 每乙個非根結點有且只有乙個父節點 4 除了根結點外,每個子結點可以分為多個不相交的子樹。樹的基本術語有 若乙個結點有子樹,...