数据结构之红黑树

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

红黑树基础


前言

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

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


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

一、什么是红黑树

红黑树(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提供了大量能使我们快速便捷地处理数据的函数和方法。

相关推荐
数智工坊7 分钟前
【操作系统-文件管理】
数据结构·数据库
芒克芒克1 小时前
数组去重进阶:一次遍历实现最多保留指定个数重复元素(O(n)时间+O(1)空间)
数据结构·算法
Fcy6482 小时前
⽤哈希表封装unordered_map和unordered_set(C++模拟实现)
数据结构·c++·散列表
一分之二~2 小时前
二叉树--层序遍历(迭代和递归)
数据结构·c++·算法·leetcode
散峰而望4 小时前
【基础算法】高精度运算深度解析与优化
数据结构·c++·算法·链表·贪心算法·推荐算法
C雨后彩虹4 小时前
中文分词模拟器
java·数据结构·算法·华为·面试
Remember_9935 小时前
【LeetCode精选算法】二分查找专题二
java·数据结构·算法·leetcode·哈希算法
学嵌入式的小杨同学5 小时前
【嵌入式 C 语言实战】栈、队列、二叉树核心解析:存储原理 + 应用场景 + 实现思路
linux·c语言·网络·数据结构·数据库·后端·spring
2401_841495645 小时前
【LeetCode刷题】删除链表的倒数第N个结点
数据结构·python·算法·leetcode·链表·遍历·双指针
苦藤新鸡6 小时前
28.两数相加,进位制
数据结构·算法·链表·力扣