码迷,mamicode.com
首页 >  
搜索关键字:rb_tree    ( 73个结果
《STL源码剖析》学习笔记系列之五——关联式容器(1)
RB-tree(红黑树) 1.1 简介      RB-tree属于二叉搜索树,即节点的键值一定大于其左孩子节点的键值,小于其右孩子节点的键值。RB-tree还有以下四个特征: 1、         每个节点非黑即红。 2、         根节点为黑色。 3、         如果节点为红,其子节点必须为黑。 4、         任一节点至NULL(即尾端)的任何路径,所含黑节点...
分类:其他好文   时间:2014-09-07 17:19:25    阅读次数:280
C++技术问题总结-第7篇 map、vector、list、deque各自的使用场合
map是关联式的,vector、list、deque是序列式的。     map:底层机制RB-tree(红黑树),元素自动排序,键值对。     vector:操作方式与array相似,动态空间增长。是连续性空间,支持随机访问。     优点: Ø 内存动态增长,不需要指定内存大小。 Ø 支持随机访问,即支持[]和vector.at()。     缺点: Ø 在内部进行插入...
分类:编程语言   时间:2014-08-27 18:46:38    阅读次数:194
《STL源码剖析》---stl_tree.h阅读笔记
STL中,关联式容器的内部结构是一颗平衡二叉树,以便获得良好的搜索效率。红黑树是平衡二叉树的一种,它不像AVL树那样要求绝对平衡,降低了对旋转的要求,但是其性能并没有下降很多,它的搜索、插入、删除都能以O(nlogn)时间完成。平衡可以在一次或者两次旋转解决,是“性价比”很高的平衡二叉树。...
分类:其他好文   时间:2014-08-15 22:36:59    阅读次数:445
STL容器
在stl中容器分为两大类,序列式容器和关联式容器。序列式容器:array、vector、heap、priority-queue、list、slist、deque、(stack、queue)最后两个是配接器关联式容器:RB-tree、set、map、multiset、multimap、hashtabl...
分类:其他好文   时间:2014-08-03 17:50:15    阅读次数:232
STL源码剖析 算法 set
set相关算法 ------------------------------------------------------------------------------------ 描述: set_union , set_difference , set_intersection , set_symmetric_difference 算法接受的 set , 必须是有序区间,适用于以 RB-tree 为底层的 set/multiset , 不适用于以 hash 为底层的 hash_set/hash_mul...
分类:其他好文   时间:2014-07-22 22:34:33    阅读次数:214
STL源码剖析 容器 stl_set.h
set ------------------------------------------------------------------------ 所有元素都会根据元素的键值自动被排序。 不可以通过 set 的迭代器改变 set 的元素值。因为 set 元素值就是其键值,关系到 set 元素的排列规则。 set::iterator 被定义为底层 RB-tree 的 const_iterator,杜绝写入操作 标准的 STL set 以 RB-tree 为底层机制,就像 stack 以 dequ...
分类:其他好文   时间:2014-07-22 22:34:33    阅读次数:231
《python源代码剖析》笔记 python中的Dict对象
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie1.PyDictObject对象 --> C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN)PyDictObject採用了hash表,时间复杂度是O(1)typede...
分类:编程语言   时间:2014-06-26 16:35:13    阅读次数:175
《python源码剖析》笔记 python中的Dict对象
1.PyDictObject对象 --> C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject采用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要重新计算一遍hash值 PyObject *me_key; PyObject *me_value; }PyDictEntry; 将(key,value)对称为entry,它可以在3种状态...
分类:编程语言   时间:2014-06-16 21:22:45    阅读次数:272
红黑树(rb_tree) 源代码
红黑树 (rb_tree)源代码...
分类:其他好文   时间:2014-05-23 08:02:12    阅读次数:336
关联容器(底层机制) — 红黑树
set、map、multiset、multimap四种关联式容器的内部都是由红黑树实现的。在STL中红黑树是一个不给外界使用的独立容器。既然是容器,那么就会分配内存空间(节点),内部也会存在迭代器。关于红黑树的一些性质,可以参考“数据结构”中的笔记,这里只记录STL中的红黑树是如何实现的。 和slist一样,红黑树的节点和迭代器均采用了双层结构: 节点:__rb_tree_no...
分类:其他好文   时间:2014-05-07 15:55:28    阅读次数:487
73条   上一页 1 ... 5 6 7 8 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!