数据结构与算法学习记录(六)二叉树

在树结构中,二叉树是最简单的一种形式。在研究树结构时,二叉树是树结构内容中的重点。二叉树的描述相对简单,处理也相对简单,而且更为重要的是任意的树都可以转换成对应的二叉树。因此,二叉树是所有树结构的基础。

什么是二叉树

二叉树是树结构放入一种特殊形式,它是n个结点的集合,每个结点最多只能有两个子结点。二叉树的子树仍然是二叉树。二叉树的一个结点上对应的两个子树分别称为左子树和右子树。由于子树有左右之分,因此二叉树是有序树。
从上述定义可以看出,在普遍的树结构中,结点的最大度数没有限制,而二叉树结点的最大度数为2.另外,树结构中没有左子树和右子树的区分,而二叉树中则有此区别。
一个二叉树结也可以是空,此时空二叉树中没有数据结点,是一个空集合。如果二叉树中没有仅包含一个结点,那么这也是一个二叉树,树根便是该结点自身。
在这里插入图片描述
对于图(a),只有一个子结点且位于左子树位置,右子树位置为空;对于图(b)只有一个子结点且位于右子树位置,左子树位置为空;对于图(c),具有完整的两个子结点,即左子树和右子树都存在。
对于一般的二叉树,在树结构中可能包含上述各种形式。按照上述二叉树的这几种形式,为了研究的方便,二叉树还可以进一步细分为两种特殊的类型,满二叉树和完全二叉树。

满二叉树即在二叉树中除最下一层的叶结点外,每层的结点都有两个子结点。典型的满二叉树,如下图所示。
在这里插入图片描述
完全二叉树记载二叉树中除二叉树最后一层外,其他各层的结点数都达到最大个数,且最后一层叶结点按照从左向右的顺序连续存在,只缺最后一层右侧若干结点。典型的完全二叉树,如下图所示。
在这里插入图片描述

从上述满二叉树和完全二叉树的定义可以看出,满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树,因为其没有达到完全满分支的结构。

二叉树的遍历方法

1、先序遍历:即先访问根结点,再按先序遍历左子树,最后按先序遍历右子树。先序遍历一般也称为先根次序遍历,简称为DLR遍历。
2、中序遍历:即先按中序遍历左子树,再访问根结点,最后按中序遍历右子树。中序遍历一般也称为中根次序遍历,简称LRD遍历。
3、后序遍历:即先按后序遍历左子树,再按后序遍历右子树,最后访问根结点。后序遍历一般也称为后根次序遍历,简称LRD遍历。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值