二叉树的基本概念

二叉树

二叉树是常见的数据结构:
在这里插入图片描述

1.相关术语:
二叉树的高度有两种定义:

  1. 从根节点到最深结点的最长路径的节点数。
  2. 从根到最深结点的最长路径的边数。

本文以根结点到最深结点的最长路径的结点数为准,也即高度,深度基数为1

  1. 树的高度:树内所有结点高度的最大值,也就是根结点的高度,也就是树的层数。上图树的高度为4
  2. 树的深度:树内所有结点深度的最大值,也就是所有叶子结点深度的最大值,也就是树的层数。上图树的深度为4
  3. 树的度:是树内所有结点度的最大值
  4. 结点的高度:从该结点向下分支的叶节点开始自底向上逐层累加。如D的高度为2
  5. 结点的深度:从根结点到该结点的层数。如D的深度为3
  6. 结点的度:结点拥有的子树的个数,叶子结点的度为0

总结:树的高度和深度是相等的:最深的叶子结点的深度就是树的深度,根结点的高度就是树的高度。

2.二叉树的性质:
二叉树有以下几个性质:TODO(上标和下标)

  1. 二叉树第i层上的结点数目最多为 2{i-1} (i≥1)。
  2. 深度为k的二叉树至多有2{k}-1个结点(k≥1)。
  3. 包含n个结点的二叉树的高度至少为log2 (n+1)。
  4. 在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1。

3.二叉树的类型

  1. 完全二叉树:若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树
    在这里插入图片描述
  2. 满二叉树:除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。
    在这里插入图片描述
  3. 平衡二叉树:平衡二叉树又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

4.完全二叉树的基本性质
完全二叉树除了拥有二叉树的基本性质外,还具有以下性质:

  1. 具有n个结点的完全二叉树的深度为 [log2n]+1 (注:[ ]表示向下取整)
  2. 有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:
    若I为结点编号则 如果I>1,则其父结点的编号为I/2;
    如果2I<=N,则其左孩子(即左子树的根结点)的编号为2I;若2I>N,则无左孩子;
    如果2
    I+1<=N,则其右孩子的结点编号为2I+1;若2I+1>N,则无右孩子。
  3. 给定N个节点,能构成h(N)种不同的二叉树。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值