首页 > 其他分享 >红黑树-数据结构

红黑树-数据结构

时间:2024-06-08 10:00:50浏览次数:13  
标签:黑色 每个 nil 红黑树 平衡 数据结构 节点

平衡二叉B树

每个节点可以是红或者是黑

红黑树不是高度平衡的,他的平衡是“通过自己的红黑规则实现的”

红黑规则

每个节点是红或者为黑

根节点必须是黑色

如果一个节点没有子节点或者是父节点,这个节点的相应的指针属性为nil,这些nil视为叶节点,每个叶节点nil是黑色的

如果某个节点是红色的,那么他的子节点必须是黑色的

不能出现两个红节点相连接的情况

对于每一个节点,从该节点的到其所有后代的简单路径上,均包含相同数目的黑色节点

添加节点

节点的颜色可以是红也可以是黑

红色的效率高

不是高度平衡的

标签:黑色,每个,nil,红黑树,平衡,数据结构,节点
From: https://blog.csdn.net/Darling912/article/details/139539166

相关文章

  • 【数据结构】图论入门
    引入数据的逻辑结构:集合:数据元素间除“同属于一个集合”外,无其他关系线性结构:一个对多个,例如:线性表、栈、队列树形结构:一个对多个,例如:树图形结构:多个对多个,例如:图图的基本概念及术语图:G=(V,E)V:顶点(数据元素)的有穷非空集合E:边的有穷集合图的类型定义无向图:每......
  • 重学java 58.红黑树相关集合
    现在还来得及                ——24.6.3一、TreeSet1.概述:        Treeset是set的实现类2.特点:        a.对元素进行排序        b.无索引        c.不能存null        d.线程不安全    ......
  • 数据结构学习笔记-佛洛依德算法
    最短路径问题的经典解法-佛洛依德算法问题描述:设计算法求解图的最短路径【算法设计思想】初始化距离矩阵:首先,将解决方案矩阵dist[][]初始化为输入图矩阵graph[][],这个矩阵存储了顶点之间的直接距离或者权值。中间顶点迭代:然后,对每一个顶点作为中间顶点进行迭代。算法通过......
  • C++数据结构之:哈希表Hash
    摘要:  it人员无论是使用哪种高级语言开发东东,想要更高效有层次的开发程序的话都躲不开三件套:数据结构,算法和设计模式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储......
  • C++数据结构之:图Graph
    摘要:  it人员无论是使用哪种高级语言开发东东,想要更高效有层次的开发程序的话都躲不开三件套:数据结构,算法和设计模式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结......
  • ClickHouse内幕(2)基础数据结构
    ClickHouse以性能好被大家所熟知,而一个数据库的性能优化是一个庞大的系统性工程。本文着眼于ClickHouse内部的基础数据结构,以揭露ClickHouse性能优化的冰山一角。在软件工程中并不是所有的执行路径都需要优化,只有关键执行路径才需要花费大力气进行优化。对于数据库领域来说关键执......
  • 【数据结构】栈和队列-->理解和实现(赋源码)
    Toc欢迎光临我的Blog,喜欢就点歌关注吧♥前面介绍了顺序表、单链表、双向循环链表,基本上已经结束了链表的讲解,今天谈一下栈、队列。可以简单的说是前面学习的一特殊化实现,但是总体是相似的。前言栈是一种特殊的线性表,它只允许在一端进行插入和删除操作。这一端被称为......
  • 数据结构与算法-17_排序算法
    文章目录1.概述比较排序算法非比较排序算法稳定vs不稳定Java中排序2.冒泡排序3.选择排序4.堆排序5.插入排序6.希尔排序7.归并排序递归实现时间复杂度非递归实现8.归并+插入9.快速排序随机基准点处理重复值10.计数排序11.桶排序12.基数排序习题E01.根据另一个数组......
  • 数据结构学习笔记-归并排序
    归并排序算法的设计与分析问题描述:设计并分析归并排序算法【算法设计思想】分割(Divide):从中间分割数组,使每个子数组包含一半的元素。这通过计算中点m来完成,通常是(l+r)/2,但为了防止大数溢出,使用l+(r-l)/2。解决(Conquer):递归地对两个子数组应用归并排序,直到......
  • 递归在多级数据结构中的简单应用
    哈喽,我是小码,半年多没更新了,这段时间换了新工作,工作也很忙。后续会尽量多写点,坚持确实是一件很难,很酷的事情。最近在公司负责开发商品有关的开发,商品包含类型、款式等属性,而类型可能有一级类型、二级类型甚至是三级类型,针对这种多级分类,这就就不好使用简单的查询了。之前也写了一......