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