数据结构--二叉树了解一下

红黑树是一种自平衡二叉查找树,每个节点标记为红色或黑色,根节点为黑色,叶子节点为黑色(空节点)。其特性保证了任何路径到叶子节点的长度不超过两倍,确保高效查找。红黑树在插入和删除操作上保持O(logn)的时间复杂度,适用于需要快速查找和更新的数据结构。插入和删除操作需要维护红黑树的平衡,可能涉及节点颜色调整和旋转操作。
摘要由CSDN通过智能技术生成

数据结构

常见的数据结构

数据结构常见的存储结构有栈、队列、数组、链表、红黑树(二叉树)。下面对红黑树简单总结一下。

红黑树

简介

红黑树,英文名为Red-Black Tree ,是一种特殊的二叉查找树(Binary Search Tree) 红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。

红黑树的性质

1.节点可以是红色的或者黑色的
2.根节点必须是黑色的
3.叶子节点必须是黑色的,当然这里的叶子节点指的是那些为NULL的叶子节点。
4.每个红色节点的子节点必须是黑色的
5.从每个叶子到根的所有路径上不能有两个连续的红色节点
6.从一个节点到它的每一个叶子节点的所有路径上含有相同数量的黑色节点

红黑树的优点
  • 特性6确保没有一条路径会比其他路径长出俩倍 ,也就是说从根节点到最远的叶节点的距离不可能超过从根节点到叶节点的距离的两倍
  • 红黑树的高度最多为 log(n + 1),n 为节点个数
  • 插入和删除在最坏的情况下为 O(logn)
  • 速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍
红黑树图型

在这里插入图片描述

红黑树图形介绍

图中最顶端的为根节点(黑色),最底层的红色节点为叶子节点,叶子节点是没有子节点的。从根节点到最底层节点之间的高度层数称为深度,因为所有路径上不能连续有两个红色节点,所以当一个节点为红色时,其子节点必须得是黑色的,如图中,不存在俩个连续的红色节点。

红黑树的操作

红黑树和二叉树有相同的操作,有插入节点、删除节点、遍历节点,除此以外插入节点、删除节点时还需要对节点来赋值是红色还是黑色,需要根据红黑树中相邻两节点是否为连续红色节点,对红黑树的形状进行调节,需要将节点进行左旋转或是右旋转,需要对破坏红黑树平衡进行修正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值