一、二叉樹的定義
1.二叉樹(binary tree)是n(n>=0)個結點的有限集合,該集合或者為空集(稱為空二叉樹),或者由乙個根結點和兩顆互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。
2.二叉樹的特點:
3.二叉樹具有五種基本形態:
4.特殊二叉樹
(1)斜樹:所有的結點都只有左子樹的二叉樹叫左斜樹,所有結點都是只有右子樹的二叉樹叫右斜樹。
(2)滿二叉樹:所有分支結點都存在左子樹和右子樹,並且所有葉子都在同一層上。
(3)對一顆具有n個結點的二叉樹按層序編號,如果編號為i(1<=i<=n)的結點與同樣深度的滿二叉樹中編號為i的結點在二叉樹中的位置完全相同,則這棵二叉樹稱為完全二叉樹。
二、二叉樹的性質(注意,這裡的i都是從0開始的)
1.在二叉樹的第i層上至多有2^i個結點(i從0開始)。
2.深度為k的二叉樹至多有2^k -1個結點(k從1開始)。
3.對任何一顆二叉樹t,如果其終端節點樹為n0,度為2的結點數為n2,則n0 = n2 +1(設度為1的結點數為n1,則結點總數為n=n0+n1+n2;又由於除了根結點外,每乙個結點均對應乙個進入它的分支,所以分支總數=n-1,又由於度為1的結點對應著1個從它引出的分支,度為2的結點對應著2個從它引出的分支,所以分支總數=n1+2*n2,即n-1=n1+2*n2)。
4.具有n個結點的完全二叉樹的深度為【log2 n】+1(【x】表示不大於x的最大整數)(深度為k的滿二叉樹的結點數n一定是2^k -1)
5.如果對一顆有n個結點的完全二叉樹(其深度為【log2 n】+1)的結點按層序編號(從第1層到第【log2 n】+1層,每層從左到右),對任一結點i(0<=i<=n-1)有:
資料結構之樹(三) 二叉樹定義和性質
二叉樹 binary tree 是n n 0 個結點的有限集合,該集合或者為空集 稱為空二叉樹 或者由乙個根結點和倆棵互不相交的,分別稱為根結點的左子樹和右子樹的二叉樹組成。如圖 二叉樹的特點 1.每個結點最多有倆棵子樹,所以二叉樹中不存在度大於2的結點。2.左子樹和右子樹是有順序的,次序不能任意顛...
資料結構筆記 二叉樹的定義和性質
在一些電視節目中,會猜測商品 有的人是一點一點的數字累加,這樣的策略效率太低了。其實有一種經典的折半查詢演算法,就類似於我們今天要說的二叉樹。二叉樹 是n n 0 個結點的有限集合,該集合或者為空集 稱為空二叉樹 或者由乙個根結點和兩棵互不相交的 分別稱為根結點的左子樹和右子樹的二叉樹組成。如下圖就...
資料結構二叉樹性質
性質是從概念觀察 思考得來,我們此處總結歸納一些有用的性質 性質1 二叉樹的第n層,最多有2 n 1 個節點 n 1,第一層,最多1個節點,2 1 1 1 n 2,第二層,最多2個節點,2 2 1 2 n 3,第三次,最多4個節點,2 3 1 4 性質2 深度為n的二叉樹,最多有2 n 1個節點 第...