二叉樹的計算

2022-05-02 09:15:12 字數 1662 閱讀 5210

二叉樹是一種典型的非線性結構,如果在乙個資料結構中,每個節點只能有乙個父節點但是可以有多個子節點,這樣的資料結構我們就把它稱為樹,如果我們再加乙個規定,每個父節點最多只有2個子節點的話,那麼這樣的樹我們就把它稱為二叉樹。既然剛才說了二叉樹乙個節點下最多只有2個子節點,那就意味著對於二叉樹中的任意乙個節點有三種情況,對於這三種情況,我們分別把這個父節點稱為度為2的節點、度為1的節點、度為0的節點,也就是說乙個父節點它下面有幾個子節點那麼它的度就是幾,對於度為0的子節點來說由於它沒有子節點了也把它稱為葉子節點。所以學了二叉樹就要知道二叉樹並不是表示每個節點下面必須開兩個叉而是最多開兩個叉

現在學乙個新的概念就是二叉樹的層數,我們看下面的二叉樹,最上面的節點稱為根節點,乙個二叉樹只能有乙個根節點,如果把根節點叫第一層的話,下面依次是第二層第三層,我們發現二叉樹越往下它所能容納的節點數就越多,發現每一層所能容納最多的節點數是上一層的二倍,所以這樣一來如果想要計算第n層最多容納多少個節點,把剛才的規律總結出來就是2^(n-1)個——讀2的n-1次冪。現在來算一算假設就有乙個層數為6的二叉樹它一共有多少個節點,像這樣每一層都達到了最大容量的二叉樹我們稱為滿二叉樹。

了解二叉樹中節點數和層數的關係之後,再來介紹乙個二叉樹中乙個非常重要的數學關係,就是對於任何乙個二叉樹來說,它的葉子節點數永遠比度為2的節點數多1,

所謂遍歷就是將資料結構中的資料全部訪問一遍的過程,既要做到乙個都不能少又要做到都不能重複,在之前學習的線性表中,遍歷非常的簡單,我們只需要從頭到尾乙個挨著乙個訪問就可以了,雖然簡單但是完全可以滿足遍歷的要求,但是對於二叉樹來說,它的結構比線性表複雜多了,如果想在遍歷的過程中乙個都不少又乙個都不重複,就必須要有一套系統的遍歷方法才行。

一般來說在二叉樹中有三種方式遍歷,分別是先序遍歷、中序遍歷和後序遍歷。

這三種遍歷規則看到規則知道怎麼遍歷,但是給先序、中序、後序記不住哪個是怎麼遍歷的,實際上剛才這三種遍歷規則是非常有講究的,首先這三種遍歷方式都一定是先左後右,沒有先遍歷右邊後遍歷左邊這種說法,左永遠都在右的前面,不同的是中的位置,先序中就在前面,中序中就在中間,後序中就在後面,其實這三種遍歷方式是以中的位置來命名的

二叉樹計算

術語 1.節點的度 乙個節點含有的子樹的個數稱為該節點的度 2.葉節點或終端節點 度為零的節點 3.非終端節點或分支節點 度不為零的節點 4.父親節點或父節點 若乙個節點含有子節點,則這個節點稱為其子節點的父節點 5.兄弟節點 具有相同父節點的節點互稱為兄弟節點 6.節點的層次 從根開始定義起,根為...

二叉樹 二叉樹

題目描述 如上所示,由正整數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...