码迷,mamicode.com
首页 >  
搜索关键字:stl源码剖析    ( 238个结果
王道训练营3月14日
C++必看书籍: C++编程思想 STL源码剖析 C++primer简历上的所有项目产生的问题都需要能够讲明白查找:哈希,二分排序:快速,冒泡,选择,堆,插入数据结构:map vector TOP K问题
分类:其他好文   时间:2015-03-14 18:21:35    阅读次数:117
《STL源码剖析》读书笔记之关联式容器(2)
1.hashtable      二叉搜索树具有对数平均时间的表现,但这样的表现构造在一个假设上:输入数据有足够的随机性。而hashtable在插入、删除、搜寻等操作上也具有“常数平均时间的表现”,而且这种表现是以统计为基础的,不依赖于输入的随机性。      一个简单的hashtable的例子:      如果元素是32bits而不是16bits,我们要准备的array就必须是4GB的...
分类:其他好文   时间:2015-03-13 16:33:36    阅读次数:211
《STL源码剖析》读书笔记之关联式容器(1)
1.AVL树      AVL tree是指任何节点的左右子树高度相差最多1的二叉搜索树。任何节点左右子树高度最多相差1能够保证AVL树具有“对数深度”的平衡状态。在对AVL tree进行插入操作时,可能造成树平衡被破坏。根据新结点插入位置的不同,可以将平衡的破坏分成四种情况:左左,左右,右左,右右。其中左左和右右被称为外侧插入,可以采用单旋转操作调制解决。而左右和右左则称为内侧插入,可以采用双...
分类:其他好文   时间:2015-03-13 10:58:13    阅读次数:231
《STL源码剖析》读书笔记之序列式容器(3)
1.heap      heap不属于STL容器组件,它是priority queue的底层实现机制。 (1)push_heap算法      向堆中加入元素,首先将要加入的元素放到堆所在数组的末端,然后再对这个元素进行上溯操作,直到新堆合法为止。如下图所示: (2)pop_heap算法      pop_heap操作取走堆中的最大(小)值。根据堆的特性,堆的最大(小)值必定是堆所存...
分类:其他好文   时间:2015-03-06 16:35:21    阅读次数:165
STL内存管理
过年在家无事看了《STL源码剖析》,开学了将看过的东西总结一下,以防忘记。 先从STL的内存管理开始总结。掌管STL内存控制的是一个叫空间适配器(alloc)的东西。STL有两个空间适配器,SGI标准空间适配器(allocate)和SGI特殊的空间适配器(alloc),前者只是对c++的new...
分类:其他好文   时间:2015-03-04 06:11:50    阅读次数:154
Iterator_traits到底有什么用?
最近在看《STL源码剖析》,到了将iterator_traits的这一节(3.4)。实现它的代码倒是看得懂,但是对它的使用场景却是有点摸不着头脑。 让我先贴一段代码,然后我们再慢慢看。 #include #include using namespace std; //第一种方式 template struct iter_traits { typedef typename I...
分类:其他好文   时间:2015-03-03 23:44:48    阅读次数:370
STL底层数据结构实现
C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问deque是一个双端队列(do...
分类:其他好文   时间:2015-01-30 17:26:06    阅读次数:156
STL底层数据结构
STL底层数据结构 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 4.stack 底层一般用list或deque实现,封闭头部即可,不用vector...
分类:其他好文   时间:2015-01-27 21:55:42    阅读次数:200
c++:参数型别的推导
STL源码剖析--侯捷总结 尽管现在的很多语言支持参数类型的判别,但是c/c++并不支持这一特性。 但是我们可以通过一些技巧使得c++具有自动判别参数类型的特性。模板 我们都知道在模板类和模板函数中我们不用具体指定参数的型别,编译器会自动的判别参数的类型。 所以我们想可不可以把编译器运行...
分类:编程语言   时间:2014-12-27 17:31:17    阅读次数:249
计算机的一些经典书籍CS经典书单
c++: 《c++程序设计》 《c++primer》 《effective c++》 《more effective c++》 《深入探索c++对象模型》 《泛型编程与STL》 《STL源码剖析》 数据结构与算法: 《算法导论》 《introduction of the design and analysis of algorithm》 《数据结构与算法分析:c语言描...
分类:其他好文   时间:2014-12-24 00:04:18    阅读次数:162
238条   上一页 1 ... 12 13 14 15 16 ... 24 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!