主题
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.net.cn/BinaryTree.html

主题分类