樹和二叉樹的一些知識

2021-07-15 16:17:42 字數 669 閱讀 4477

樹,包含n個結點(n>0)而且滿足以下條件的有限集合。

①存在唯一的結點,無前驅結點,即根;

②任何非根結點都有且只有乙個前驅結點,即父節點;

③任何結點都有可能有多個後繼結點,即子節點,沒有後繼結點的稱為葉節點;

④任何非根節點都有且只有一條從根節點到該節點的結點序列。

度(次數):該節點的子節點個數;度為0的結點為葉節點;

層數:根節點層數為0;其他節點的層數為其父節點層數加1;

結點序列v

m到vm+k所經歷的邊數為稱為路徑長度。

樹的高度為最高層葉節點的層數。

二叉樹:樹中每個結點最多有兩個子樹。

二叉樹有序且可以為空。

設t為由n個結點構成的二叉樹,其中葉節點的個數為n0,次數為2的結點個數為n2;則n0=n2+1.

高度為k的二叉樹至多有

2k+1-1個結點。

若將一棵有n 個結點的完全二叉樹按層次順序用自然數從1開始編號,則編號為i的結點有如下性質:

①若i≠1,則編號為i 的結點的父節點編號為⌊i/2⌋;

②若2i<=n,則編號為i的結點的左孩子編號為2i,否則無左子節點;

③若2i+1<=n;則編號為i的結點的右子節點編號為2i+1;否則無右子節點。

具有n個結點的完全二叉樹的高度為⌊log2

n⌋。

二叉樹的一些概念

1 滿二叉樹 樹內的任何結點,或為樹葉 圖1中2689 或有兩個非空子樹。滿二叉樹定理 非空滿二叉樹樹葉的數目等於其分支結點數目加1。此外,乙個二叉樹第i層 根節點為0層 最多能有2的i次方個結點。圖12 平衡二叉樹 如果樹中任何結點的兩個子樹高度差是0或者1。對於圖1來說結點1左子樹高度為1,右子...

二叉樹的一些操作

標頭檔案 樹.h pragma once include include include include include include typedef char datatype typedef struct btnodebtnode btnode greattree datatype pre,i...

二叉樹的一些東西

了解完全二叉樹和滿二叉樹 滿二叉樹 除最後一層無任何子節點外,每一層上的所有結點都有兩個子結點 最後一層上的無子結點的結點 為葉子結點 也可以這樣理解,除葉子結點外的所有結點均有兩個子結點。節點數達到最大值。所有葉子結點必須在同一層上。完全二叉樹 若設二叉樹的深度為h,除第 h 層外,其它各層 1 ...