你應該掌握的——樹和二叉樹


以這棵樹來說幾個基本的概念。


結點的度:一個結點的子樹數目稱為該結點的度。(例如結點1的結點的度為3,結點2的結點的度為3,結點3的結點的度為0)。

樹的度:所有結點度當中,度最高的一個。(上圖樹的度是3)。

葉子結點:上圖應該是:3、5、6、7、9、10

分之結點:除了葉子結點,其他的都稱為分之結點,和葉子結點構成互補的關系。(1、2、4、8)

內部結點:分之結點除了根結點以外的。(2、4、8)

父結點:如5號結點就是2號結點的子結點。

子結點:2號結點是5號結點的父結點。

兄弟結點:5、6、7稱為兄弟結點,出自同一個父親2號結點。

這三個概念是一個相對的概念。

層次:0層、1層、2層、3層。

還有一個公式就能做題了:總結點=所有度結點的和+1(應該是父結點)

 

樹的遍歷

我們還是根據這圖來看看樹的三種遍歷。

前序遍歷先從根部出發,然后由左向右,一顆一顆樹來完成遍歷。先訪問根再訪問葉子結點,這就是我畫出來的前序遍歷圖,箭頭的方向表示遍歷的順序。a為起點。

結果是:1、2、5、6、7、3、4、8、9、10

 

后序遍歷顧名思義,就是從葉子結點出發,先遍歷葉子結點再到根結點,最后到父結點。我畫出順序可能會更直觀點。

結果是:5、6、7、2、3、9、10、8、4、1

 

層次遍歷按0層、1層、2層、3層,從左到右來遍歷

結果是:1、2、3、4、5、6、7、8、9、10

 

我們接着就可以來理解二叉樹的重要的特性:

我們找五顆二叉樹來進行分析:這樣分析就簡單多了,我都覺得不用分析了,但是還是說說吧。

1、二叉樹中,第i層上最多有2的i次方個結點(i>=0)。這個很基本,這也是二叉樹和樹的區別。

2、深度為K的二叉樹至多有2的(k+1)次方 -1個結點(k>=0)。(深度為二叉樹中層數最大的葉節點的層數),滿二叉樹的深度為2,則共有7個結點。

3、對任何一顆二叉樹,如果其葉子結點數為n0,度為2的結點數為n2,則n0=n2+1;(一定不要忘了根結點的度也是2)。

 

二叉樹的遍歷

前序遍歷應該是怎么個流程呢:我們看圖。

遍歷的結果是:1、2、4、5、7、8、3、6。從根結點分兩部分,先把左邊的遍歷完,都是從左到右的。

 

中序遍歷:

結果是:4,2,7,8,5,1,3,6。

 

后序遍歷:

結果是:4、8、7、5、2、6、3、1

 

層次遍歷:

結果是:1、2、3、4、5、6、7、8

那么樹和二叉樹就說這么多,我相信掌握這么多,也差不多夠用了哦,對於上面的基礎知識,要是我有不對的地方,希望大家指出哈。

 

原文轉自:http://blog.csdn.net/yi_zz/article/details/7396987


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM