当前位置: 首页 > news >正文

数据结构之红黑树

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

红黑树基础

  • 前言
  • 一、什么是红黑树
  • 二、左旋和右旋实现
  • 三、插入的调整
  • 四、红黑树的删除
    • 1.引入库
    • 2.读入数据
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是红黑树

红黑树(Red-BlacK TREE,简称R-B Tree),它是一种特殊的二叉查找树
它满足二叉查找树的特性
任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值
除了具备该特性外,红黑树还包括许多额外的信息

红黑树的每个节点上都有存储位表示节点的颜色,颜色是红或黑
红黑树的特性:

  1. 每个节点或者是黑色,或者是红色
  2. 根节点是黑色
  3. 每个叶子节点是黑色(这里叶子节点,指为空的叶子节点)
  4. 如果说一个节点是红色的,则它的子节点必须是黑色的
  5. 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点

关于它的特性,需要注意的是:

  1. 特性3中的叶子节点,是只为空(nil)的节点
  2. 特性5,确保没有一条路径会比其他路径长出2倍

因而,红黑树是相对于接近平衡的二叉树
在这里插入图片描述
定理:一棵含有n个节点的红黑树的高度至多为 l o g 2 ( n + 1 ) log_2(n+1) log2(n+1)

二、左旋和右旋实现

三、插入的调整

四、红黑树的删除

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关文章:

  • C语言第十八弹---指针(二)
  • 1.0 Hadoop 教程
  • 聊聊java中的Eureka和Nacos
  • python-自动化篇-运维-语音识别
  • ctfshow misc入门 misc24-31
  • Linux驱动 SPI子系统
  • 智能决策的艺术:探索商业分析的最佳工具和方法
  • k8s学习-Kubernetes的包管理器Helm
  • 小米服务治理——客户端熔断器(Google SRE客户端熔断器)
  • WPF图表库LiveChart异常问题处理-System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围
  • 【GPU驱动开发】- GPU架构流程
  • netlink学习
  • HBase 数据导入导出
  • c语言:贪吃蛇的实现
  • 随着网络的快速发展,网络安全问题也日益凸显,遇到攻击该如何处理,如何抉择合适的防护方案
  • CSS魔法堂:Absolute Positioning就这个样
  • Fabric架构演变之路
  • JavaScript的使用你知道几种?(上)
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • KMP算法及优化
  • Median of Two Sorted Arrays
  • MySQL-事务管理(基础)
  • opencv python Meanshift 和 Camshift
  • PHP CLI应用的调试原理
  • PHP的Ev教程三(Periodic watcher)
  • React-Native - 收藏集 - 掘金
  • tensorflow学习笔记3——MNIST应用篇
  • vue 个人积累(使用工具,组件)
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 力扣(LeetCode)357
  • 前端面试之CSS3新特性
  • 前嗅ForeSpider教程:创建模板
  • 嵌入式文件系统
  • 移动端 h5开发相关内容总结(三)
  • ​ubuntu下安装kvm虚拟机
  • ​马来语翻译中文去哪比较好?
  • $(function(){})与(function($){....})(jQuery)的区别
  • (12)目标检测_SSD基于pytorch搭建代码
  • (done) 两个矩阵 “相似” 是什么意思?
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (区间dp) (经典例题) 石子合并
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (顺序)容器的好伴侣 --- 容器适配器
  • (算法)Travel Information Center
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)shell调试方法
  • (轉)JSON.stringify 语法实例讲解
  • .NET Core Web APi类库如何内嵌运行?
  • .Net下的签名与混淆
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @RestController注解的使用