1. 程式人生 > >關於滿二叉樹

關於滿二叉樹

對於國內的滿二叉樹

從圖形形態上看,滿二叉樹外觀上是一個三角形。

從數學上看,滿二叉樹的各個層的結點數形成一個首項為1,公比為2的等比數列。因此由等比數列的公式,滿二叉樹滿足如下性質。

1、一個層數為k 的滿二叉樹總結點數為:  。因此滿二叉樹的結點樹一定是奇數個。

2、第i層上的結點數為: 

3、一個層數為k的滿二叉樹的葉子結點個數(也就是最後一層): 

圖一

對於國外的滿二叉樹

滿二叉樹的結點要麼是葉子結點,度為0,要麼是度為2的結點,不存在度為1的結點。

圖三

因此,上圖中這個二叉樹也是滿二叉樹。但是按照國內的定義,它卻不是滿二叉樹。

美國以及國際上所定義的滿二叉樹,即full binary tree,和國內的定義不同,美國NIST給出的定義為:A binary tree in which each node has exactly zero or two children. In other words, every node is either a leaf or has two children. For efficiency, any Huffman coding is a full binary tree.

滿二叉樹的任意節點,要麼度為0,要麼度為2.換個說法即要麼為葉子結點,要麼同時具有左右孩子。霍夫曼樹

是符合這種定義的,滿足國際上定義的滿二叉樹,但是不滿足國內的定義。