数据结构之红黑树

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

红黑树基础


前言

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

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


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

一、什么是红黑树

红黑树(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.引入库

代码如下(示例):

c 复制代码
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.读入数据

代码如下(示例):

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

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


总结

提示:这里对文章进行总结:

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

相关推荐
CSharp精选营18 小时前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
刘马想放假4 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
北域码匠5 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Darling噜啦啦12 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
小小工匠13 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾13 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
Qres82113 天前
算法复键——树状数组
数据结构·算法
牛油果子哥q13 天前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解
数据结构·c++·最小生成树·并查集
凌波粒13 天前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode
WL学习笔记13 天前
单项不带头不循环链表
数据结构·链表