主題
Search

二叉樹


二叉樹是一種樹狀結構,它是有根的,其中每個頂點最多有兩個子節點,並且每個頂點的子節點都被指定為其左子節點或右子節點(West 2000,第 101 頁)。換句話說,與真樹不同,子節點的相對位置很重要。

放棄左右子節點被認為是唯一的要求,就得到了一棵被稱為弱二叉樹的真樹(其中,按照慣例,根節點也被要求最多與一個圖頂點相鄰)。

BinaryTrees

二叉樹的高度是樹內層級的數量。高度 h=1, 2, ... 的二叉樹的節點數量為 1, 3, 21, 651, 457653, ... (OEIS A001699)。給出這些計數的遞推方程是

 a_n=a_(n-1)^2+a_(n-1)(1+sqrt(4a_(n-1)-3))
(1)

其中 a_1=1

BinaryTreesNodes

具有 n 個節點的二叉樹的數量為 1, 2, 5, 14, 42, ... (OEIS A000108),它們是卡塔蘭數 C_n

對於高度為 h 且有 n 個節點的二叉樹,

 h<=n<=2^h-1.
(2)

這些極端情況分別對應於平衡樹(除了樹葉之外的每個節點都有一個左子節點和右子節點,並且所有樹葉都在同一層級)和退化樹(每個節點只有一個外向分支)。

對於組織成二叉樹的資料搜尋,找到一個專案所需的搜尋步驟 S(n) 的數量受限於

 lgn<=S(n)<=n.
(3)

將任意樹部分平衡為所謂的 AVL 二叉搜尋樹可以提高搜尋速度。


另請參閱

B 樹, Calkin-Wilf 樹, Cayley 樹, 完全二叉樹, 擴充套件二叉樹, , 四叉樹, 紅黑樹, 有根樹, 伸展樹, Stern-Brocot 樹, 強二叉樹, 三價樹, 弱二叉樹

使用 探索

參考文獻

Lucas, J.; Roelants van Baronaigien, D.; and Ruskey, F. "Generating Binary Trees by Rotations." J. Algorithms 15, 343-366, 1993.Ranum, D. L. "On Some Applications of Fibonacci Numbers." Amer. Math. Monthly 102, 640-645, 1995.Ruskey, F. "Information on Binary Trees." http://www.theory.csc.uvic.ca/~cos/inf/tree/BinaryTrees.html.Ruskey, F. and Proskurowski, A. "Generating Binary Trees by Transpositions." J. Algorithms 11, 68-84, 1990.Skiena, S. Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Reading, MA: Addison-Wesley, p. 35, 1990.Skiena, S. S. The Algorithm Design Manual. New York: Springer-Verlag, pp. 177-178, 1997.Sloane, N. J. A. Sequences A000108/M1459, A001190/M0790, and A001699/M3087 in "The On-Line Encyclopedia of Integer Sequences."West, D. B. Introduction to Graph Theory, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, p. 101, 2000.

在 中被引用

二叉樹

引用為

Weisstein, Eric W. "二叉樹。" 來自 —— 資源。 https://mathworld.tw/BinaryTree.html

主題分類