logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++ STL :红黑树rb_tree源码剖析

STL关联式容器map、set、multimap、multiset,绝大部分操作如插入、修改、删除、搜索,都是由其内含的红黑树来完成的。我下面会总结STL中rb_tree怎么实现的。首先,rb_tree是红黑树,所以需要定义红色和黑色。然后需要定义 红黑树的节点。_Rb_tree_node_base定义了红黑树的节点类,从类中可以看出一个节点有颜色、父指针、左孩子指针、右孩子指针4个属性。然后定义

文章图片
#c++#数据结构#开发语言
【Mybatis】maven配置pom.xml时找不到依赖项(已解决)

我在配置pom.xml依赖时,会冒红。解决方法:(1)settings->maven目录:把maven路径改为自己的。具体操作在【Maven】Maven安装&入门教程笔记_暮色_年华的博客-CSDN博客这篇文章里(2)右击pom.xml,选maven,重新构建项目之前冒红的就正常了...

#mybatis
【动态规划】牛客网:把数字翻译成字符串

有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。现在给一串数字,返回有多少种可能的译码结果输入:"12"返回值:2种可能的译码结果(”ab” 或”l”)其实这道题目很像爬楼梯,一次能爬一层和爬两层,只是爬的过程中增加了一些限定条件,只要将这些限定条件屡清楚则可以完全搞懂这类题目dp[i]:表示前i个字符有多少种译码结果dp[i]=dp[i

#算法
【动态规划】线性dp: P1052 过河

#include<iostream>#include<cstring>using namespace std;int L;int S,T,M;int x[101];int dp[100001];int main(){cin>>L;cin>>S>>T>>M;memset(dp,0x3f,sizeof(dp));dp[0]=0;i

#动态规划#算法
【数据结构算法】图解prime算法和Kruskal算法(最小生成树)

最小生成树:带权连接图中最小生成树:含所有顶点(n个)和n-1条边且它们权值之和最小Prime算法:拉点法先选一个顶点放入集合U中,然后把U外顶点和U中任一顶点连线权值最小的加入U中,这样每一步加入U的都是权值最小的,所以,得到的是最小生成树例:求下图的最小生成树第一步:假设从顶点0开始,把顶点0加入集合U5到U中顶点权值最小,把5加入U4到U中顶点权值最小,4加入U3到U中顶点权值最小,3加入U

文章图片
#算法#职场和发展#leetcode
数据结构笔记:二叉树的构造(根据遍历顺序构造二叉树)

目录给出先序遍历序列和中序遍历序列可以唯一确定二叉树给出后序遍历序列和中序遍历序列可以唯一确定二叉树题:给出先序遍历序列和中序遍历序列可以唯一确定二叉树给出后序遍历序列和中序遍历序列可以唯一确定二叉树证明同上题:(1)根据先序或者后序遍历确定根节点:第一个或者最后一个元素为根节点(2)根据中序遍历确定左子树和右子树元素集合:根节点左面的所有元素是根节点的左子树...

文章图片
#数据结构
随想1:从make_shared到 std::deque到 protobuf areana模式

protobuf 的 Arena 分配它假设一批对象具有相同的生命周期(比如一次 RPC 请求中的所有消息),于是预先申请一大块内存,所有对象都从其中线性分配。这三种机制通过引入结构或生命周期上的约束,把原本零散的分配请求聚合成更少、更大的操作,从而绕过这些陷阱。虽然随机访问多了一层间接寻址,但每个块内仍保持局部性,且整体分配次数大幅减少——尤其适合频繁在两端操作、又不愿承担重分配成本的场景。当能

    共 22 条
  • 1
  • 2
  • 3
  • 请选择