![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 83
Still_Believe_
爱好编程C++,Java,Python。github主页:https://github.com/klc407073648
展开
-
C++ map使用方法总结
目录1.概述2. map的基本操作2.1插入操作2.2 取值2.3. 容量查询2.4 删除2.5 查找2.6 使用举例3.map基本操作函数总结1.概述map是C++标准模板库(STL)中的一种关联式容器。它的特性是,所有元素都会根据元素的键值自动被排序,即map的所有元素都是pair,同时拥有实值(value)和键值(key)。pair的第一个元素被视为键值,第二个元素被视为实值,且不允许两个元素拥有相同的键值。标准的STL map即以RB-tr...原创 2020-10-31 22:03:28 · 2326 阅读 · 0 评论 -
数据结构学习——skiplist跳表
目录1.skiplist简介2.skiplist核心思想3.skiplist原理3.1 跳表的查找3.2 跳表的插入3.3跳表的删除4.skiplist简单实现1.skiplist简介Skiplist是一个用于有序元素序列快速搜索的数据结构,由美国计算机科学家William Pugh发明于1989年。他在论文《Skip lists: a probabilistic alternative to balanced trees》中详细介绍了跳表的数据结构和插入删除等...原创 2020-10-11 11:24:38 · 798 阅读 · 2 评论 -
数据结构学习——红黑树
红黑树(red-black tree),满足以下规则:节点是红色或黑色 根是黑色 所有叶子都是黑色(叶子是NIL节点) 每个红色节点必须有两个黑色的子节点(从每个叶子到根的所有路径上不能有两个连续的红色节点) 从任一节点到其每个叶子(NIL)的所有简单路径都包含相同数目的黑色节点事实上,如上所有的规则都只想做一件事,让二叉树尽可能的平衡。对于定义4,即代表了红黑树中不可能出现两个连续的红色节点,也就是说支树上最多是红黑交替的情况(可以出现连续的黑节点)。 对于定义5,结合定义4,即代表红原创 2020-10-10 20:11:58 · 465 阅读 · 0 评论 -
数据结构学习——二叉树
Vector和List的特点:类型 底层结构 随机访问 插入和删除 空间利用率 使用场景 Vector vector的底层结构是动态顺序表,在内存中是一段连续的空间 O(1) 查询数据位置最坏需要O(N),且数据迁移最坏也需要O(N) 内存中是一段连续的空间,所以不容易造成内存碎片,利用率高 vector适合需要高效率存储,需要随机访问,并且不管行插入和删除效率的场景 List list的底层结构是带头节点的双向循环链表,在内存.原创 2020-10-09 20:51:55 · 137 阅读 · 0 评论