前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >完全二叉树,满二叉树,平衡二叉树,搜索二叉树,红黑树

完全二叉树,满二叉树,平衡二叉树,搜索二叉树,红黑树

作者头像
名字是乱打的
发布2022-05-13 10:05:59
6720
发布2022-05-13 10:05:59
举报
文章被收录于专栏:软件工程
满二叉树:

除最后一层无任何子节点外,每一层上的所有结点都有两个子结点

完全二叉树:

完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。如下图

满二叉树都是完全二叉树

完全二叉树依次填满直至满二叉树的阶段,每一个树都是完全二叉树

二叉搜索树

它是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点:

  • 若其左子树存在,则其左子树中每个节点的值都不大于该节点值;
  • 若其右子树存在,则其右子树中每个节点的值都不小于该节点值。
平衡二叉树定义(AVL):

它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。

红黑树

红黑树大值定义和平衡二叉树相同,但是具有以下几个特点

  • 性质1. 节点是红色或黑色。
  • 性质2. 根节点是黑色。
  • 性质3 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
  • 性质4. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 详情点击参考链接https://www.jianshu.com/p/1bbb19156454
红黑树和平衡二叉树的区别

1.红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。 2.平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。

红黑树颜色的作用

红黑树使用红黑二色进行“着色”,目的是利用颜色值作为二叉树的平衡对称性的检查,只要插入的节点“着色”满足红黑二色的规定,最短路径与最长路径不会相差的太远,红黑树的节点分布就能大体上达至均衡。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 满二叉树:
  • 完全二叉树:
  • 二叉搜索树
  • 平衡二叉树定义(AVL):
  • 红黑树
    • 红黑树和平衡二叉树的区别
      • 红黑树颜色的作用
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档