樹和二叉樹的基本概念

2022-06-14 06:36:10 字數 2492 閱讀 6810

由乙個或多個(n≥0)結點組成的有限集合t,有且僅有乙個結點稱為根(root),當n>1時,其餘的結點分為m(m≥0)個互不相交的有限集合t^1, t^2,....,t^m。每個集合本身又是一顆樹,被稱為這個根的子樹。

注1:過去許多書籍中都定義樹為n>1,曾經有「空樹不是樹」的說法,但現在樹的定義已修改。

注2:樹的定義具有遞迴性,即樹中有樹

根————即根結點(沒有前驅)

葉子———即終端結點(沒有後繼)

森林———指m棵不相交的樹的集合(例如刪除a後的子樹個數)

有序樹——結點各子樹從左至右有序排列,不能互換(左為第一)

無序樹——結點各子樹可互換位置

雙親———即上層的哪個結點(直接前驅)parent

孩子———即下層結點的子樹(直接後繼)child

兄弟———同一雙親下的同層結點(孩子之間互稱兄弟)sibling

堂兄弟——即雙親位於同一層的結點(但並非同一雙親)cousin

祖先———即從根到該結點所經分支的所有結點

子孫———即該結點下層樹中的任一結點

結點———即樹的資料元素

結點的度—結點掛接的子樹數(有幾個直接後繼就有幾度,或稱「次數」)

結點的層次——從根到該結點的層數(根結點算第一層)

終端結點—即度為0的結點,即葉子

分支結點—除樹根以外的結點(也稱為內部結點)

樹的度——所有結點度中的最大值(max{各結點的度})

樹的深度—指所有結點中最大的層數(max{各結點的層次})或高度

1、圖形表示法

2、巢狀集合表示法

3、廣義表表示法

4、目錄表示法

5、左孩子-右孩子表示法(二叉樹)

樹的特點是1對多(1:n),有多個直接後繼(如家譜樹、目錄樹等),但只有乙個根結點,且子樹之間互不相交。

樹雖是非線性結構,但仍然有順序儲存、鏈式儲存等方式。

可規定為:從上至下、從左至右將樹的結點依次存入記憶體。

重大缺陷:復原困難

可用多重鍊錶:乙個直接前驅、n個直接後繼指標。

細節問題:樹中結點 的結構型別樣式該如何設計?即應該設計成「等長」還是「不等長」?

缺點:等長結構太浪費(每個結點的度不一定相同);

不等長結構太複製(要定義多種結構型別)

(使用鍊錶儲存後繼結點,或改為二叉樹)

要明確:

1、普通樹(即多叉樹)若不轉化為二叉樹,則運算很難實現。

2、二叉樹的運算仍然是插入、刪除、修改、查詢、排序等,但這些操作都必須建立在對樹結點能夠「遍歷」的基礎上。

(遍歷——指每個結點都被訪問且僅訪問一次,不遺漏不重複)

二叉樹的結構最簡單,規律性最強;

可以證明,所有的樹都能轉化為唯一對應的二叉樹,不失一般性。

定義:n(n≥0)個結點的有限集合,由乙個根節點以及兩顆互不相交的、分別稱為左子樹和右子樹的二叉樹組成。

邏輯結構:一對二(1:2)

基本特徵:

1、每個結點最多只有兩顆子樹(不存在度>2的結點)。

2、左子樹和右子樹次序不能顛倒(有序樹)。

1、在二叉樹的第i層上至多有2^(i-1)個結點(i>0)。

2、深度為k的二叉樹至多有(2^k)-1個結點(k>0)。

3、滿二叉樹:一顆深度為k且有(2^k)-1個結點的二叉樹。(特點:,每層都「充滿」了結點)

4、完全二叉樹:深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應。

(特點:只有最後一層葉子不滿,且全部集中在左邊),這其實是順序二叉樹的含義。

5、滿二叉樹與完全二叉樹在順序儲存方式下可以復原。

6、對完全二叉樹,若從上至下,從左至右編號,則編號為i的結點,其左子樹編號必為2i,其右子樹編號必為2i+1,其雙親的編號必為i/2(i=1時為根,除外)。

對於第k層中的編號為i的元素,在第k層中前面有x=i-2^(k-1)個元素,在第k層中後面有y=2^(k-1)-1-x個元素,則其左孩子編號為:

i+y+2x+i=i+2^(l-1)-1-x=2x+1=i+2^(k-1)+x=i+2^(k-1)+i-2^(k-1)-2i

則其右孩子編號為:

i+y+2x+2=2i+1

對於左右孩子,其雙親結點編號必然為i/2。

樹和二叉樹的基本概念

一 樹 1 樹型結構是一類非線性結構 2 樹是n n 0 個結點的有限集 3 樹有且僅有乙個根 root 結點,其餘互不相交的集合稱為根的子樹 4 有向樹有確定的根,且樹根和子樹之間為有向關係 我們一般討論有向樹 5 有序樹和無序樹的區別是子樹之間是否有次序關係 我們一般討論的是無序樹 6 樹的結點...

樹 二叉樹的基本概念

樹基本概念 非線性結構,乙個直接前驅,但可能有多個直接後繼 1 n 樹的定義具有遞迴性,即樹中還有樹 根 葉子 森林 有序樹 無序樹 雙親 孩子 兄弟 堂兄弟 祖先 子孫 結點 結點的度 結點的層次 終端結點 分支結點 樹的度 所有結點度中的最大值 max 樹的深度指所有結點中最大的層數 max 或...

二叉樹 基本概念

1.二叉樹的定義 二叉樹的定義是以遞迴形式給出的 一棵二叉樹是結點的乙個有限集合,該集合或者為空,或者是由乙個根節點加上兩棵分別稱為左子樹和右子樹的 互不相交的二叉樹組成。二叉樹有5種基本形態,如圖1所示,任何複雜的二叉樹都是這5種基本形態的復合,其中圖 a 是空二叉樹,圖 b 是單結點的二叉樹,圖...