logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

手撕C++STL list:深入理解双向链表的实现

在C++ STL中,list是一个基于的容器,支持高效的头尾插入/删除操作(O(1)时间复杂度),但不支持随机访问(O(n)时间复杂度)。本文将带你list,并分析其核心实现。

文章图片
#c++#链表#开发语言
从零手写红黑树(C++实现详解)

学完AVL树之后对我来说,红黑树可能更容易理解,还有水了这么多篇,该认真写一篇了,哈哈哈哈。红黑树顾名思义就是得有红色和黑色的树,红黑树利用红色和黑色节点来创建二叉平衡搜索树红黑树的5条核心特点:(1)每个节点是红色或黑色(2)根节点必须是黑色(3)所有叶子节点(NIL/空节点)是黑色(NIL节点是红黑树中所有空指针的替代节点,表示树的叶子位置。(4)红色节点的子节点必须是黑色(即不能有连续的黑色

文章图片
#开发语言#c++#算法 +1
C++ 特殊类设计与单例模式解析

设计一个类、不能被拷贝、只能在堆上创建对象、只能在栈上创建对象、不能被继承、单例模式、饿汉模式、懒汉模式。

文章图片
#c++#单例模式#java +3
C++位图(Bitmap)与布隆过滤器(Bloom Filter)详解及海量数据处理应用

布隆过滤器是将哈希函数的哈希值映射到一个位图中,因此映射到的位图的位置一定为1,根据该值所有哈希函数映射到的位置是否全为1来(粗略)判断该值在不在,如果不是全为1(含0),那么这个值一定是不存在的,如果全为1那也不一定存在,以为其他的值的哈希函数也有可能映射到相同的位置,造成误判所以我们需要进入数据库进一步判断(这就体现了布隆过滤器的作用:减缓了数据库的压力)在映射的位置进行计数,映射一次就++,

文章图片
#c++#开发语言
C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现

AVL树是最早被发明的自平衡二叉查找树,由G. M. Adelson-Velsky和E. M. Landis在1962年的论文中提出。本文将详细介绍AVL树的原理,并通过C++代码实现一个完整的AVL树结构。平衡因子 = 右子树高度 - 左子树高度在AVL树中,每个节点的平衡因子只能是-1、0或1。当插入或删除节点导致平衡因子的绝对值超过1时,就需要通过旋转操作来恢复平衡。// 键值对// 左子节

文章图片
#c++#开发语言
到底了