数据结构 树、2-3-4树、红黑树


 

        存储数据需要一定的结构,一个优秀的数据存储结构会极大优化读取数据的速度。

        最贱的存储结构是链式存储结构,又叫链接存储结构。 在计算机中用一组任意的存储单元存储线性表的数据元素 (这组存储单元可以是 连续 的,也可以是不连续的)。

2-3-4树

1.2-3-4属于一种多路查找树,是一种四阶的B树,它的结果有以下特点

        所有叶子节点都拥有相同的深度

        节点只能是2-节点、3-节点、4-节点节点

        元素的排序整体上保持二叉查找树的特性,即父节点大于左子节点,小于右子节点;当节点有多个元素时,每个元素都必须大于他左边的和他的左子树中的元素。

2.三种节点的示意图

①:2-节点:有两个子树的节点

0

③:3-节点:有三个子树的节点

0

④:4-节点:有四颗子树的节点

0

红黑树

        树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中。

        二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。

        红黑树是一种特定类型的二叉树,它是在计算机科学中用来组织数据比如数字的块的一种结构。它有以下特点:

        1.每个节点不是红色就是黑色

        2.根节点是黑色

        3.每个叶子节点(NIL节点,空节点)是黑色的 、

        4.如果一个节点是红色的,则他的子节点必须是黑色的

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

2-3-4树变红黑树

理论前提:2-3-4树的查询操作像普通的二叉搜索树一样,非常简单,但由于其结点元素数不确定,在一些编程语言中实现起来并不方便,实现一般使用它的等同——红黑树。

至于为什么说红黑树是 2-3-4树的一种等同呢,这是因为 2-3-4树的每一个结点都对应红黑树的一种结构,所以每一棵 2-3-4树也都对应一棵红黑树,下图是 2-3-4树不同结点与红黑树子树的对应。

        1.新插入的结点颜色为红色,这样才可能不会对红黑树的高度产生影响。

        2-结点对应红黑树中的单个黑色结点,插入时直接成功(对应 2-结点升元)。

        3-结点对应红黑树中的黑+红子树,插入后将其修复成 红+黑+红 子树(对应 3-结点升元);

        4-结点对应红黑树中的红+黑+红子树,插入后将其修复成红色祖父+黑色父叔+红色孩子子树,然后再把祖父结点当成新插入的红色结点递归向上层修复,直至修复成功或遇到 root 结点;

  • https://note.youdao.com/yws/public/resource/79e724cb17df4e4998fa171100fd0ba8/xmlnote/WEBRESOURCE9f4ffc76d070e5c24153369b4ab733e2/62635

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值