数据结构——常见二叉树的分类(完全二叉树、满二叉树、平衡二叉树、二叉搜索树、红黑树)

       一、树的基本概念

专业术语中文描述
Root根节点一棵树的顶点
Child孩子结点一个结点含有的子树的根节点称为该结点的子节点
Leaf叶子结点没有孩子的节点
Degree一个节点包含子树的数量
Edge一个节点与另外一个节点的连接
Depth深度根节点到这个节点经过边的数量
Height节点高度从当前节点到叶子节点形成路径中边的数量
Level层级节点到根节点最长路径的边的总和
Path路径一个节点和另一个节点之间经过的边和Node的序列

        二、二叉树

           二叉树的定义:二叉树是每个结点最多只能有两个分支的树,左边的分支称为左子树,右边的分支称为右子树。

        二叉树的特点:

  1. 在非空二叉树中,第i-1层结点总数不超过{2}^{i-1}i>=1
  2. 深度为h-1的二叉树最多有个{2}^{h}-1个结点(h>=1),最少有h个结点
  3. 对于任意一颗二叉树,如果叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1

        三、二叉树的分类

(1)完全二叉树

        若设二叉树的高度为h,除第h层外,其他各层的节点数都达到最大个数,第h层有叶子节点,并且叶子节点都是从左到右依次排布。(堆为完全二叉树)

 (2)满二叉树

        除叶子节点外每一个节点都有左右子叶且叶子节点都处在最底层的二叉树。

 (3)平衡二叉树(AVL树)

        空树或者左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一颗平衡二叉树。

 (4)二叉搜索树(二叉查找树、二叉排序树)

  1. 若左子树不空,则左树上所有节点的值均小于或等于它的根节点的值。
  2. 若右子树不空,则右树上所有节点的值君大于或等于它的根节点的值。
  3. 左右子树也分别为二叉搜索树。

 

(5)红黑树

  1. 节点是红色或黑色。
  2. 根节点是黑色。
  3. 所有的叶子节点都是黑色。
  4. 每个红色节点必须有两个黑色的子节点。(不能出现两个连续的红色节点)
  5. 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。

  

 

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芷菁小可爱~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值