C++标准库的容器分为序列容器和关联容器。 序列容器简单的有vector,list,deque,复杂的还有配接器stack,queue,priority_queue。 关联容器简单的有set,map,复杂的有multiset,multimap,这都是基于RB-tree的,基于hashtable的也有 ...
分类:
其他好文 时间:
2018-03-06 17:07:29
阅读次数:
184
二叉排序树是一种比较有用的折衷方案。 数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦。 链表与之相反,删除和插入元素很快,但查找很慢。 二叉排序树就既有链表的好处,也有数组的好处。 在处理大批量的动态的数据是比较有用。 二叉树数据结构: 二叉树的创建和遍历:http://blo ...
分类:
编程语言 时间:
2018-01-15 22:29:29
阅读次数:
211
一、what is HashMap( hash table) In computing, a hash table (hash map) is a data structure which implements an associative array abstract data type, a s ...
分类:
其他好文 时间:
2017-12-29 21:45:55
阅读次数:
237
平衡树板子题,虽然似乎有着高妙的树状数组搞法,但本着用用pb_ds这种bug库的存在,就没管了orz ...
分类:
其他好文 时间:
2017-11-07 21:00:49
阅读次数:
194
摘要: 摘要: 技术在于交流、沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 hash的结构图如下图 oject通过hashfunc转换成hashcode然后插入到相应篮子中 hash同rb_tree是一种底层实现,在实际应用中很少能直接用到,但是做为容器的底层实现,所以了解一下还是很有必 ...
分类:
其他好文 时间:
2017-09-20 23:28:48
阅读次数:
293
摘要: 摘要: 技术在于交流、沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 红黑树,关联式容器底层实现(map set),在使用中基本运用不到,但是还是想了解一下他的运作方式 Red_Black tree是平衡二分搜寻树(balanced binary search tree),它是高度 ...
分类:
其他好文 时间:
2017-09-17 01:29:08
阅读次数:
1733
摘要: 摘要: 技术在于交流、沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 map与multimap为关联容器,结构如下 map底层实现依然是rb_tree 他的data可以改,但是key不能改,因此map仍然具有自动排序的功能 我们无法使用迭代器改变元素的key(const key), ...
分类:
其他好文 时间:
2017-09-15 10:02:23
阅读次数:
252
目录: 第二章 空间适配器 第三章 迭代器 第四章 序列式容器(vector,list,deque,stack,heap,priority_queue,slist) 第五章 关联式容器(树的算法 + RB_tree ,set,map,hashtable) 第六章 算法 第七章 仿函数 第八章 适配器 ...
分类:
其他好文 时间:
2017-07-27 11:35:16
阅读次数:
226
1 通用的search方法 STL在实现对特定key值的查找时,并没有採用通用的方法: BRTreeNode * rb_tree_search(RBTreeNode * x, int key){ while(x ! = NULL && x->key != key){ if( x->key > key ...
分类:
其他好文 时间:
2017-07-03 15:06:02
阅读次数:
206
首先的疑问,已经有了二叉平衡树,为什么又有红黑树?(前提是要理解平衡树) 引用知乎上的回答 1. 如果插入一个node引起了树的不平衡,AVL和RB-Tree都是最多只需要2次旋转操作,即两者都是O(1);但是在删除node引起树的不平衡时,最坏情况下,AVL需要维护从被删node到root这条路径 ...
分类:
其他好文 时间:
2017-05-10 00:18:51
阅读次数:
198