![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 72
Xd
这个作者很懒,什么都没留下…
展开
-
解决缓存穿透问题
文章目录前言一、STL::SET和STL::MAP?二、STL::unordered_map?三、布隆过滤器解决 前言 缓存穿透:某个数据redis不存,mysql也不存在,而且一直尝试读,数据最终压力依然堆积在mysql,可能造成mysql不堪重负而崩溃 读取步骤: 1.先访问redis,如果存在,直接返回,不存在走2 2.访问mysql,如果不存在,直接返回,如存在走3 3.将mysql存在的key写回redis 一、STL::SET和STL::MAP? C++标准库(STL)中的set和map.原创 2021-07-07 11:21:42 · 67 阅读 · 0 评论 -
B树---删除节点
文章目录数据结构一、删除节点二、合并 数据结构 typedef int KEY_VALUE; typedef struct _btree_node { KEY_VALUE *keys;// 关键字数组 struct _btree_node **childrens; //指针数组 叶子节点 int num;//关键字数量 int leaf;// 是否为叶子节点 }btree_node; typedef struct _btree { btree_node *root; int t; } btr原创 2021-07-06 09:58:05 · 433 阅读 · 0 评论 -
B树---插入调整
文章目录前言一、性质二、插入1.从根节点插入(整棵树只有根节点)2.从子节点插入3.分裂(插入时 子节点的num满了 需要分裂) 前言 内存与磁盘区别 1.访问内存块,访问磁盘慢 2.内存断电以后数据消失,磁盘持久存储 为什么要用B树? 存储在磁盘上的数据,想要加载到内存需要寻址,这样是比较慢的,每次大约需要10ms,要想减少这个访问磁盘次数 需要一个层级比较低的数据结构。B树层高低,每个节点对应一个btree节点。 一、性质 一颗M阶B树T,满足以下条件 每个节点至多拥有M课子树 根结点至少拥有两原创 2021-07-05 11:12:04 · 170 阅读 · 0 评论 -
红黑树----删除调整
文章目录前言一、情况1.(x为左子树)x的兄弟节点是红色(此时被删除节点的父节点和x的兄弟节点的子节点都是黑色)2.(x为右子树)x的兄弟节点是红色(此时被删除节点的父节点和x的兄弟节点的子节点都是黑色)3.(x为左子树)被删除点是黑+黑节点,x的兄弟节点是黑色,x的兄弟节点的两个孩子都是黑色4.(x为右子树)被删除点是黑+黑节点,x的兄弟节点是黑色,x的兄弟节点的两个孩子都是黑色5.(x为左子树)x是黑+黑节点,被删节点的兄弟节点是黑色,x的兄弟节点的右孩子是黑色6.(x为右子树)被删除点是黑+黑节点,x原创 2021-07-04 12:38:49 · 204 阅读 · 0 评论 -
红黑树---插入调整
目录前言一、情况情况1情况2情况3二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 只有当插入节点是红色,才需要调整 一、情况 情况1 当前节点的原创 2021-07-02 10:30:07 · 116 阅读 · 0 评论