任一節點 r (根節點或者內部節點)的左(右)子樹(而不是左右孩子那麼簡單)中,所有結點(若存在)均不大(不小於)r。這樣設計(增加一種順序性)二叉樹的目的在於,使其中序遍歷(左中右)得到的訪問的序列呈單調非降的趨勢。
注意,順序性是一種很強的條件。事實上,搜尋樹中結點之間的全序關係,已完全「蘊含」於這一條件(順序性)之中。
更一般性的結論如下,任何一棵二叉樹是二叉搜尋樹,當且僅當(二者等價)其中序遍歷序列單調非降。
一棵二叉搜尋樹由一組(互異的關鍵碼)組成,可能形式不太相同,但它們的中序遍歷必然相同。現在考慮這樣乙個問題,n 個互異結點能構成多少棵二叉搜尋樹。
不妨將 n 個互異結點組成的二叉搜尋樹的總數記作 t(
n)。由以上結論可知,一組結點構成的二叉搜尋樹可能形態不盡相同,但其中序遍歷都是一致的,不妨記作:,x
k,根據所選擇樹根結點的不同,樹根為 xk
,k=0
,…,n
−1,所有的搜尋樹可以分為
n 類(注意是 n 類,不是 n 種)。則有邊界條件和遞推公式可知:⎧⎩
⎨⎪⎪⎪
⎪t(0
)=t(
1)=1
t(n)
=∑k=
0n−1
t(k)
⋅t(n
−k−1
)注意:t(
n)表示的是
n 個互異節點構成的二叉搜尋樹的數目(而不是樹根的位置)。t(
1)自然表示的是只有乙個節點時,可能構成的二叉搜尋樹的數量,顯然只有 1 種。t(
0)自然表示只有 0 個節點,這裡規定其值為 1。
二叉樹的相關性質
1 二叉樹的度含義是 二叉樹的某個結點的子節點或者直接後繼節點的個數,1度代表只有乙個子節點或者是單子樹,2度代表有兩個子節點或者是左右子樹都有,二叉樹是乙個連通的無環圖,並且每乙個頂點的度不大於3。2 在二叉樹中,一棵深度為k,且有2 k 1個節點的二叉樹,稱為滿二叉樹。這種樹的特點是每一層上的節...
二叉樹的相關性質
性質一 在二叉樹的第i層上至多有2 i 1 個結點 i 1 性質二 深度為k的二叉樹至多有2 k 1 個結點 k 1 性質三 對任意一顆二叉樹t,若終端結點數為n0,而其度數為2的結點數為n2,則 n0 n2 1 滿二叉樹 深度為k,且有2 k 1 個結點的二叉樹。在滿二叉樹中,每層結點都是滿的,即...
二叉樹相關性質(更新中 )
在二叉樹的第i層至多有2 i 1 個結點 i 1 參考滿二叉樹,數學歸納法證明 深度為k的二叉樹至多有2 k 1個結點 k 1 滿二叉樹與等比數列求和 二叉樹的深度 一顆樹只有乙個節點,它的深度是1 根節點只有左子樹而沒有右子樹,那麼二叉樹的深度應該是其左子樹的深度加1 根節點只有右子樹而沒有左子樹...