二叉樹結構最簡單,規律性最強;
可以證明,所有的書都能轉為未對應的二叉樹,不是一般性。
普通樹(多叉樹)若不轉化為二叉樹,則運算很難實現
二叉樹在樹結構的應用中起着非常重要的作用,因為對二叉樹的許多操作算法簡單,
而任何樹都可以與二叉樹相互轉換,這樣就解決了樹的存儲結構及其運算中存在的復雜性。
二叉樹的定義:二叉樹是 n(n≥0)個結點的有限集,它或者是空集(n = 0),
或者由一個根節點及兩棵互不相交的分別稱作這個根的左子樹和右子樹的二叉樹組成。
特點:
① 每個結點最多有倆孩子(二叉樹中不存在度大於2的結點)
② 子樹有左右之分,其次序不能顛倒(如果次序顛倒,則是另一棵樹)
③ 二叉樹可以是空集合,根可以有空的左子樹或空的右子樹
注意:二叉樹不是樹的特殊情況,它們是兩個概念。
二叉樹結點的子樹要區分左子樹和右子樹,即使只有一顆子樹也要進行區分,說明它是左子樹還是右子樹。
樹當結點只有一個孩子時,就無須區分它是做還是右的次序。因此二者是不同的,這是二叉樹與樹的最主要的差別。
也就是二叉樹每個結點位置或者說次序都是固定的,可以是空,但是不可以說它沒有位置,而樹的結點位置是相對於別的結點來說的,
沒有別的結點時,它就無所謂左右了。
二叉樹的五種基本形態:
注:雖然二叉樹與樹的概念不同,但有關樹的基本術語對二叉樹都適用。