二叉樹入門

2021-07-15 06:51:03 字數 2080 閱讀 1291

樹是模擬實現樹幹和樹枝的一種資料結構,如同樹根一樣,樹結構都有乙個「根結點」。根節點之下如同樹的樹枝一樣,可以擁有0到n個「子結點」,也就是樹的」分支「

如上圖。a就是這棵樹的根節點,b、c就是結點a的子結點。也就是樹枝。每一根樹枝當然可以有小樹枝,也就是子節點本身可以擁有子結點。途中d和e是b的子結點。反過來說b是d、e的父結點,結點擁有共同的父結點稱為「兄弟結點」。所以d和e結點稱為兄弟結點。

專業名詞

結點:結點包括乙個資料元素及若干指向其子樹的分支

n元樹:樹結構的乙個結點最多擁有n個子結點。

二叉樹:樹的結點最多只有兩個子結點。

根結點:樹之中沒有父結點的結點,稱為根結點

葉結點:如果某個結點的本身沒有子結點,則稱為葉節點。

分支結點:度不為0的結點分為分支結點,分支結點也稱為非終端結點

孩子結點:樹中乙個結點的子樹的根節點稱作這個結點的孩子結點

雙親結點:若樹中某結點有孩子結點,則這個結點稱作它的孩子結點的雙親結點

兄弟結點:具有相同的雙親結點的結點稱為兄弟結點

祖先結點:指結點到根結點所經過的所有結點。

非終端結點:除了葉結點外的其他結點稱為非終端結點。

結點的度:指每個結點擁有的子結點數。如上圖a的度為2、e的度為1、g的度為0

層數:如上圖,a的層數為1、bc的層數為2、def的層數為3、ghj的層數為4

高度:又稱為樹的深度,這是指樹的最大層數。

無序樹:樹中任意乙個結點的各孩子結點之間的次序構成無關緊要的樹稱為無序樹。通常樹指的是無序樹。

有序樹:樹中任意乙個結點的各孩子結點之間有嚴格排列次序的樹稱為有序樹。

**森林:**m (m >= 0)課樹的集合稱為森林。在自然界中,樹和森林的概念差別很大;但是在資料結構中,樹和森林的概念差別很小。從定義可知,一棵樹由根結點和m個子樹組成,若把樹中的根結點刪除,則樹就變成了包含m課樹的森林。當然,根據定義,一棵樹也可以稱作森林。

二叉樹的基本概念

二叉樹是一種特殊的樹,一顆二叉樹最多擁有2個子結點,也就是度小於或等於2。二叉樹分為左子樹和右子樹。

滿二叉樹:如果樹的高度為h,而且二叉樹的結點樹為2^h - 1;在不增加樹的層數的前提下,無法再多新增乙個結點的二叉樹就是滿二叉樹。

完全二叉樹:如果只刪除了滿二叉樹最底層最右邊的連續若干個結點,這樣形成的二叉樹就是完全二叉樹。

滿二叉樹肯定是完全二叉樹

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

二叉樹的性質

1、在二叉樹的第i層最多有2^(i - 1)個結點

2、深度為k的二叉樹至多有2^k - 1個結點

3、對任何一棵二叉樹t,如果其終端結點數為n0, 度為2的結點數為n2。則n0 = n2 + 1;

4、具有n個結點的完全二叉樹的深度為[log2^n]+1

二叉樹入門

對二叉樹的儲存,即可採用順序儲存結構 陣列 也可採用鏈式儲存結構 鍊錶 在鏈式儲存結構中,每乙個節點都含有乙個資料域,兩個指標域 分別用來指向該節點的左 右子樹。利用這種節點構成的鏈式儲存結構稱為二叉鍊錶。為簡單起見,給定一資料集,以該資料集中的元素建立一完全二叉樹。這裡不考慮非完全二叉樹的情況。如...

二叉樹 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...

樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹

目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...