
数据结构
文章平均质量分 90
记录C++常用的数据结构底层原理
持续学习,不断沉淀
C++开发工程师
展开
-
STL容器(vector、array、list、deque、set 、map 、stack、queue、priority_queue)的底层实现
STL容器(vector、array、list、deque、set 、map 、stack、queue、priority_queue)的底层实现原创 2022-08-25 16:22:01 · 1252 阅读 · 0 评论 -
关联容器底层数据结构:unordered_map/set基于hash表,不保证插入顺序;map/set基于红黑树,根据键自动排序
关联容器中的元素是按关键字来保存和访问的,支持高效的关键字查找与访问。1、map类容器:map容器中的元素是一些键-值(key-value)对:键起到索引的作用,值则表示与索引相关联的数据。map关联容器的类型:map :基于红黑树的关联数组;保存键-值对;数据的存放是按键自动排序后进行multimap:关键字可以重复出现的mapunordered_map:用哈希函数组织的map,容器中的数据存放是无序的,不保证与插入顺序一致unordered_multimap:哈希组织的map;关键字可以原创 2020-06-04 18:45:23 · 1388 阅读 · 0 评论 -
红黑树:旋转、插入、删除操作;与平衡二叉查找树的区别
1、红黑树与平衡二叉查找树的区别:平衡二叉树(AVL):它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1 (完全平衡),并且左右两个子树都是一棵平衡二叉树。时间复杂度最好情况和最坏情况都为O(lgn)。为保证绝对平衡,所以插入、删除后需要多次旋转来保持平衡,因而非常耗时。红黑树:红黑树放弃了追求完全平衡,追求大致平衡。时间复杂度最好情况和最坏情况也为O(lgn)。追求......原创 2020-05-02 11:38:16 · 1058 阅读 · 0 评论