悟空学Linux专栏----第8篇

  悟空想了一夜还没有想明白为什么图4不是树,这让悟空很受打击。但是很受打击悟空也需要继续树的研究,悟空决定先把这个问题放一放,继续Linux内核的研究。接下来需要研究的是二叉树。二叉树是一种树,这种树的一个特点就是:最多只有两个出边。也就是将树的四个含义中的第三个含义修改为:顶点具有0个、1个或两个出边。

  而二叉搜索树,也是一个二叉树,只不过这个二叉树是一个节点有序的二叉树,其顺序遵循以下法则:

  1.根的左分支节点值小于根的节点值;

  2.根的右分支节点的值大于根节点的值;

  3.所有的子树也都是二叉搜索树。

  接下来悟空需要研究的一个树是“平衡二叉树搜索树”,平衡二叉搜书树是一个所有叶子节点深度差不超过1的二叉搜索树。而“半平衡二叉树搜索树”则是最深的叶子节点的深度不会大于两倍的最浅的叶子节点的深度。“自平衡二叉树搜索树”,则是对该树的所有操作都试图维持半平衡二叉搜索树。红黑二叉树则是一种自平衡二叉搜索树,同时这颗树需要满足如下条件:

  1.所有节点要么是是红色、要么是黑色;

  2.叶子节点都是黑色;

  3.叶子节点都不包含数据;

  4.所有非叶子节点都有两个子节点;

  5.如果一个节点是红色,则他的节点都是黑色;

  6.在一个节点到其叶子节点的途径中,如果总是包含同样数目的黑色节点,则该途径相比其他途径是最短的。

  看到这里悟空终于研究完了所有的二叉树的特性了,悟空发现这些定义很有意思,每个新的定义都是在之前的定义中增加一个新的限定条件,就得到了新的树,而新的树的定义又变成了下一种树的定义的条件。这些定义之间环环相扣,缺少一个就无法得到下一种树的定义。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值