二叉树

二叉树是一种特殊树形结构,每个节点最多有两个子节点。满二叉树是所有节点都有两个子节点的树,完全二叉树则在除了最后一层外,其余层节点数达到最大,且最后一层节点从左到右填充。完全二叉树可以用一维数组存储,父子节点间存在编号关系。高度为h的完全二叉树最多有logN层,常用于堆数据结构。
摘要由CSDN通过智能技术生成

二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫左儿子,右边的叫右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么是由根结点、左子树和右子树分别是一棵二叉树。下面这棵树就是一棵二叉树。
在这里插入图片描述
一棵多叉树也可以转化为二叉树。
二叉树中还有两种特殊的二叉树,叫做满二叉树和完全二叉树。
满二叉树:
如果二叉树中每个内部结点都有两个儿子,这样的二叉树叫满二叉树。或者说满二叉树所有的结点都有同样的深度。
比如下面这棵二叉树,是不是感觉很“丰满”?
在这里插入图片描述
满二叉树的严格定义是一棵深度为h且有2^h - 1个结点的树。
完全二叉树:
如果一个二叉树除了最右边位置上一个或多个叶结点缺少以外,其他是丰满的,那么这样的二叉树就是完全二叉树。
严格的定义是:若设二叉树的高度为h,除第h层外。其他各层(1~h - 1)的结点数都达到最大个数,第h层从右向左连续缺失若干结点,则这个二叉树就是完全二叉树。也就是说如果一个结点有右子结点,那么他一定有左子结点。
满二叉树

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值