基本概念:
树是n(n≥0)个结点的有限集合T(Tree)。当n=0时,称为空树;当n>0时, 该集合满足如下条件:
(1) 其中必有一个称为根(root)的特定结点,它没有直接前驱,但有零个或多个直接后继。
(2) 其余n-1个结点可以划分成m(m≥0)个互不相交的有限集T1,T2,T3,…,Tm,其中Ti又是一棵树,称为根root的子树。 每棵子树的根结点有且仅有一个直接前驱,但有零个或多个直接后继。
结点:包含一个数据元素及若干指向其它结点的分支信息。
结点的度:一个结点的子树个数称为此结点的度。
叶结点:度为0的结点,即无后继的结点,也称为终端结点。
分支结点:度不为0的结点,也称为非终端结点。
孩子结点:一个结点的直接后继称为该结点的孩子结点。
双亲结点:一个结点的直接前驱称为该结点的双亲结点。
兄弟结点:同一双亲结点的孩子结点之间互称兄弟结点。
祖先结点:一个结点的祖先结点是指从根结点到该结点的路径上的所有结点。在图1中,结点K的祖先是A、B、E。
子孙结点:一个结点的直接后继和间接后继称为该结点的子孙结点。在图1中,结点D的子孙是H、I、 J、 M。
树的度: 树中所有结点的度的最大值。
结点的层次:从根结点开始定义,根结点的层次为1,根的直接后继的层次为2,依此类推。
树的高度(深度): 树中所有结点的层次的最大值。
有序树:在树T中,如果各子树Ti之间是有先后次序的,则称为有序树。
森林: m(m≥0)棵互不相交的树的集合。将一棵非空树的根结点删去,树就变成一个森林;反之,给森林增加一个统一的根结点,森林就变成一棵树。
二叉树的定义与基本操作
定义:我们把满足以下两个条件的树形结构叫做二叉树(Binary Tree):
(1) 每个结点的度都不大于2;
(2) 每个结点的孩子结点次序不能任意颠倒。
由此定义可以看出,一个二叉树中的每个结点只能含有0、 1或2个孩子,而且每个孩子有左右之分。我们把位于左边的孩子叫做左孩子,位于右边的孩子叫做右孩子。
满二叉树:
深度为k且有2k-1个结点的二叉树

本文详细介绍了二叉树的基本概念,包括满二叉树和完全二叉树的定义,以及二叉树的性质。重点讲解了二叉树的遍历方法,包括先序、中序和后序遍历,并提供了遍历的递归定义。同时,还讨论了如何通过已知中序和后序遍历结果来推导先序遍历。
最低0.47元/天 解锁文章
230

被折叠的 条评论
为什么被折叠?



