![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
红黑树
红黑树的操作及nginx下红黑树源码分析
dearQiHao
数据容灾备份
展开
-
NGINX下红黑树的删除(终章)附GIF
接着上一篇我们就只剩下了红黑树的删除了,这也是较为复杂的操作 其实删除的话我们是分为两个部分 (1)删除 (2)恢复 删除: 当你要删除一个点的时候又分为下面的情况 删除时候的情况: 1. 如果要被删除的节点没有孩子,那么就直接删除。 2. 如果删除的节点有一个孩子,删除之后,用它的孩子还代替他。 3. 如果有两个孩子,这个时候你可以选择左孩子那条路径里最大的值,或者右孩子最小的值来进...原创 2019-11-05 18:26:25 · 2852 阅读 · 2 评论 -
数据结构与算法之树
红黑树 1.如果一个数要是红黑树,那么这个树首先就要满足平衡二叉树的性质。 为什么需要平衡二叉树呢??? 也许在我梦构建树的时候会发生如下的情况 这种情况根本就体现不出我们用树的好处所在了,所以为了避免这种情况的发生,我们希望能有一种算法,将上述情况的转化为平衡二叉排序树,这样就可以让我们的二叉排序树的结构达到最优化的状态。 所以我们就有了平衡因子的概念。 平衡因子: 左右子树的高度之差...原创 2019-10-21 20:07:33 · 1389 阅读 · 1 评论 -
数据结构与算法之树的遍历
树的 “前” “中” “后” 遍历 //如果要再写一个树太费时间了,所以博主在这篇博客只给出核心代码并赋予GIF演示动画,望大家好好理解以对树的三种遍历方式有更为深刻的理解 因为递归调用函数是有开销的,而且递归的次数受堆栈大小的限制,所以本篇博客不会 介绍用递归的方式来遍历树. 而是使用 栈 来遍历树. 前序遍历(博主上篇已经写过了,所以直接套用上篇的代码): 前序遍历的主要思想就是: 根节...原创 2019-10-16 22:44:52 · 1464 阅读 · 2 评论 -
数据结构与算法之 树
二叉搜索树的使用 //这一个版本写的是较为简单的树,分为了三个部分组成, 主要是利用栈的思想来进行前序遍历我们的树,本程序没有采用递归去前序遍历,用递归的话效率过低,不推荐使用. //本程序所实现的功能有 //插入元素. 前序遍历 二叉搜索树的删除 .再次前序遍历 .查找指定节点 teer.h #pragma once #define MAX_NODE 1024 typedef int E...原创 2019-10-16 08:57:09 · 1249 阅读 · 1 评论