c++ vs2019 cpp20规范的STL库的map与multimap源码分析

map就是一个红黑树。
标准平衡二叉树,要求左右子树的高度差不超过1 。红黑树只要求左右子树的高度差不超过一倍即可。兼顾了树平衡与效率。避免了AVL树的频繁调整树平衡。
b站 的“可雷曼土”大师,讲红黑树的理论讲的很透彻,再结合看代码,才可以看懂。总共五六集。很全面透彻,没这位老师的讲解,我是学不会
c++ vs2019 cpp20规范的STL库的map与multimap源码分析_第1张图片
自己画的vs2019 的STl的map的数据结构。从网上找图,暂时没找到。先凑合一下。
二叉树里有很多递归,但map实现上多了父指针,就用不上递归了,需要的时候,可以直接回溯。
谢谢。

你可能感兴趣的:(c++容器类模板的相关源码分析,c++,开发语言)