[18]-容器(集合)_树

这里的树不是指我们普通的自然界的树,而是形似于一个倒着的树的一种结构

主要讲红黑树和二叉树

1.树是由一个集合以及在该集合上定义的一种关系构成的。 集合中的元素称为树的结点,所定义的关系称为父子关 系。

2.父子关系在树的结点之间建立了一个层次结构。

3.树的结点包含一个数据元素及若干指向其子树的若干分支。

4.在这种层次结构中有一个结点具有特殊的地位,这个结点 称为该树的根结点,或简称为树根

在这里插入图片描述
例如图

(a)是一棵空树、

(b)是只有一个根节点的树、

(c) 是一棵有 10 个结点的树,其中 A 是根,

二叉树

每个结点的度 均不超过 2 的 有序 树,称为 二叉树 (binary tree)
在这里插入图片描述
由以上定义可以看出

  1. 二叉树中每个结点的孩子数只能是 0、1 或 2 个,并且 每个孩子都有左右之分。

  2. 位于左边的孩子称为左孩子,位于右边的孩子称为右孩 子;

  3. 以左孩子为根的子树称为左子树,以右孩子为根的子树称 为右子树。
    在这里插入图片描述

二叉查找/搜索/排序树 BST (binary search/sort tree)

或者是一棵空树;

或者是具有下列性质的二叉树:

(1)若它的左子树不空,则左子树上所有结点的值均小于 它的根节点的值;

(2)若它的右子树上所有结点的值均大于它的根节点的值;

(3)它的左、右子树也分别为二叉排序树。
在这里插入图片描述

平衡二叉树 (Self-balancing binary search tree自平衡二叉查找树又被称为AVL树(有别于 AVL 算法)

它是一棵空树或它的左右两个子树的高度差( 平衡因子 )的绝对值不超过 1 平

衡二叉树:

每个结点的平衡因子都为 1、-1、0 的二叉 排序树。或者说每个结点的左右子树的高度最多差 1 的二叉 排序树。

平衡二叉树的目的是为了减少二叉查找树层次,提高查找速度
在这里插入图片描述
红黑树 R-B Tree,

全称是 Red-Black Tree,又称为"红黑树",它一 种平衡二叉树。红黑树的每个节点上都有存储位表示节点的 颜色,可以是红(Red)或黑(Black)。

红黑树的特性:

(1)每个节点或者是黑色,或者是红色。

(2)根节点是黑色。

(3)每个叶子节点(NIL)是黑色。[注意:这里叶子节点, 是指为空(NIL 或 NULL)的叶子节点!]

(4)如果一个节点是红色的,则它的子节点必须是黑色的。

(5)从一个节点到该节点的子孙节点的所有路径上包含相 同数目的黑节点。

注意:

(01) 特性(3)中的叶子节点,是只为空(NIL 或 null)的节点。

(02) 特性(5),确保没有一条路径会比其他路径长出俩倍。因 而,红黑树是相对是接近平衡的二叉树
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值