二叉树

一、树是什么

  1. 树是由n(n>0)个有限节点组成的一个层次关系的集合。
  2. 树的特点:
    ①每一个节点都有0个或多个子节点。
    ②没有父节点的节点为根节点。
    ③每一个非根节点都有一个父节点。
    ④除了根节点外,每个子节点可以分为多个不相交的子树。
  3. 图示树
  4. 二叉树:每个节点至多只有两个子树。在这里插入图片描述
  5. 满二叉树:除了最后一层节点没有子节点以外,每一层的所有节点均有两个子节点。在这里插入图片描述
  6. 完全二叉树:由满二叉树引出来的,区别在于,完全二叉树的最后一层并没有达到最大个数,而是在最后一层连续集中在左边。在这里插入图片描述
  7. 节点的度:树中某个节点的子树的个数。
  8. 树的度:树中各节点的度的最大值。
  9. 分支节点:度不为零的节点。
  10. 叶子节点:度为零的节点。

二、二叉树的性质

  1. 非空二叉树第i层最多有2i-1个子节点(i>=1)
  2. 非空二叉树的叶子节点数=双分支节点数+1(N0=N2+1)
  3. 深度为h的二叉树最多有2h-1个节点,最少有h个节点
  4. 具有n个节点的完全二叉树深度为[log2n]+1,[]表示向下取整
  5. 有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:
    1)若I为结点编号则 如果I>1,则其父结点的编号为I/2;
    2)如果2I<=N,则其左孩子(即左子树的根结点)的编号为2I;
    3)若2I>N,则无左孩子;
    4)如果2
    I+1<=N,则其右孩子的结点编号为2I+1;若2I+1>N, 则无右孩子。

三、二叉树的存储结构

  1. 二叉树的顺序存储,指的是使用顺序表(数组)存储二叉树。普通二叉树转完全二叉树的方法很简单,只需给二叉树额外添加一些节点,其值为0,将其"拼凑"成完全二叉树即可。在这里插入图片描述
  2. 二叉树的链式存储只需从树的根节点开始,将各个节点及其左右孩子使用链表存储即可。在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值