V
主页
京东 11.11 红包
【C++ STL】手搓红黑树有多困难?自制标准库系列之map与set(最难的一集)
发布人
小彭老师C++实战演练系列之“自己实现所有STL容器”。比起艰深的STL源码解读,不如自己动手实现STL,更能生动直观地掌握底层技术细节,破除模棱两可心理,了解常见的最佳实践。这是本系列试水的第七课,自己实现std::map与std::set容器。本期视频中我们介绍了红黑树这种特殊的二叉搜索树如何维持平衡,实现一个可以存放任意类型的有序键值对并去重容器。由于红黑树需要判断的边缘情况多而杂,一不留神就会写错、写漏,可能是本系列有史以来最难的一集。尝试过程中遇到无数的bug,小彭老师不得不参考了许多实现,最终借助所学知识才实现出了能正确运作的红黑树 _RbTreeBase,并在其基础上实现了 Map 和 Set 容器。支持了自定义比较器和内存分配器,也支持了 MultiMap 和 MultiSet,封装出了和标准库一样的std::map与std::set接口,完美支持增删改查等常规操作。 下一期想看什么?是继续推进HTTP服务器系列,继续编写小彭大典盘点疑难杂症,自制STL之哈希表unordered_map,还是想听OpenGL课程,还是CUDA用于物理仿真,或是CUDA加速矩阵乘法呢评论区告诉小彭老师吧 本项目代码已经全部开源:https://github.com/parallel101/stl1weekend
打开封面
下载高清视频
观看高清视频
视频下载器
【CS61B汉化】七海讲数据结构-AVL树&红黑树【七海Nana7mi】
【C++】从零搭建聊天服务器(面试加分必备实战项目)
红黑树 - 定义, 插入, 构建
搞了俩小时红黑树,感觉还是狗屁不会,真的,破大防,王道有的题这个解析,我真的,唉,不知道该咋说,为了那一个冷门考点投入大量时间,值得么?
热血编程 (第五集)| 双指针的巧妙转换
我红黑树那么牛,你们凭什么不用我?
【辟谣】C++根本没有堆和栈!
【录播】现代C++中的高性能并行编程与优化(持续更新中)
【C++ STL】全网最完整的map教程
【neko算法课】红黑树 插入【11期】
OpenGL 和 C++ 开发的项目,耗时六个月,纯手写,代码量约4万多行!
如何阅读C++ STL 源码?
哈希表大战表红黑树,数据结构性能挑战赛
【C++11】自己动手做标准库:实现array容器
【C++项目实战】实现一个JSON解析器
现代C++教程 2023
C++:为什么有些成员函数用const修饰? | d2ds::Vector技术解读第二期
我对 C++ 标准库的性能优化已被合并!
【现代C++】静态反射实现自动JSON序列化
吃瓜围观Linux内核开发人员花3小时为AppleXserve前面板编写USB驱动
【C++标准库】自己动手实现vector容器
不会调试别叫C++大佬
【并行计算】CUDA在现代C++中如何运用?看这一个就够了!
【C++17】小彭老师陪你从零手搓HTTP服务器
【GCC】C/C++初学者建议开启这些警告,编译期就排除大量危险隐患,提升代码质量
还在用rand生成随机数?来学学【现代C++】的正确用法吧!
【C++】校招、跳槽、练手必备的C++开发项目,可以直接写到简历上(面试加分必备实战项目)
C++ 高频交易系统编写
【异步C++】基于红黑树实现定时中断,超时自动终止任务
17-C 标准库设计与实现 (_start; offsetof; printf; environ; malloc/free) [南京大学2024操作系统]
【公开课】现代CMake模块化项目管理指南【C/C++】
【C++公开课】全面理解STL标准库 vector容器 精讲(第1集 持续更新中)
CUDA实现矩阵乘法的8种优化策略编程介绍
B树(B-树) - 来由, 定义, 插入, 构建
ACM 金牌选手教你比快排还快的排序。力扣 No.75 颜色分类,真·动画教编程,适合语言初学者或编程新人。
【C++标准库】自己动手实现std::optional容器
【C++】malloc/new追踪,可视化内存碎片,监测内存泄漏
C++后端之工作感悟
红黑树详解,理解红黑树的每个细节
【错误码】现代C++中的错误处理方案有哪些?