概述#
二叉树是一种特殊的树型结构,它由结点的有限集合构成。
二叉树是由唯一的起始结点引出的结点集合。这个起始节点称为根(root)。二叉树中的任何非根节点都有且仅有一个前去结点,称为该结点的父结点(parent)。根节点即为二叉树中唯一没有父结点的结点。二叉树中的任何结点最多可能有两个后继结点,分别称为左子结点(left child)和右子结点(right child)。具有相同父结点的结点之间互称兄弟结点(sibling)。二叉树中的一个结点的子数树木称为该结点的度(degree)。没有子结点的结点称为叶结点(leaf),叶结点的度为0。
二叉树的基本操作有:前序、中序、后续周游二叉树,删除给定二叉树,获得深度,获得叶子数,获得总结点数等。其中,前序、中序、后续周游尤为重要,他们运用了递归算法周游二叉树,可以大幅度简化非递归的周游算法,所以接下来,我们先给出递归算法的说明,再进一步说明如何运用递归算法实现二叉树的创建和基本操作。