二叉树的模板

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

基本概念:

树是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个结点的二叉树

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值