数据结构之红黑树

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

红黑树基础


前言

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

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


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

一、什么是红黑树

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

相关推荐
任沫3 小时前
字符串
数据结构·后端
祈安_7 小时前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法
NineData2 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
琢磨先生David10 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
qq_4542450310 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝10 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA10 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc10 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg110 天前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA10 天前
图「Java数据结构与算法学习笔记12」
数据结构·算法