1.deque
deque和vector的最大差异在于deque允许在常数时间内对首端进行元素的插入和删除操作。而且deque没有容量的观念,因为它是动态地以分段连续空间组合而成的,随时可以增加一段新的空间并链接起来。像vector那样因旧空间不足而重新配置一块更大空间的情况在deque里是不会发生的。虽然deque也提供Random Access Iterator,但它的迭代器并不是...
分类:
其他好文 时间:
2015-03-06 12:48:22
阅读次数:
140
这题真是浪费了很多时间,想法也对了,转移到寻找第k小的元素上来,然后根据两个都是一排好序的数组,像类似算法导论中利用partition找到划分的q,但在这里,由于题目要求O(logn),所以这个找q的过程必须是常数时间,想了好久想不到一个常数时间的划分。最后在网上找到答案了:分析:我们现在设计一个求...
分类:
其他好文 时间:
2015-03-04 14:19:17
阅读次数:
93
nested condition statement 嵌套条件语句Interpreter 解释器branching programs 分支程序syntax 语法semantic语义code structure 代码结构piece of code 代码段constant time 常数时间
分类:
其他好文 时间:
2015-01-22 12:35:24
阅读次数:
200
/*deque是一种双向开口的连续线性空间,可以在头尾两端分别做元素的插入和删除操作deque与vector差异:1.deque允许于常数时间内对头部进行元素的插入和移除操作2.deque没有容量(capacity)概念,由分段连续空间组合而成,随时可以增加一段新的空间并链接起来,而vector当空...
分类:
其他好文 时间:
2015-01-15 14:11:13
阅读次数:
217
斐波那契堆简介斐波那契堆(Fibnacci Heap)有两种用途:第一,支持一系列操作,这些操作构成了所谓的可合并堆。第二,其一些操作可以在常数时间内完成,这使得这种数据结构非常适合于需要频繁调用这些操作的应用。可合并堆(Mergeable Heap)支持如下五种操作:Make-Heap(), In...
分类:
其他好文 时间:
2014-12-12 20:33:23
阅读次数:
311
转自http://hsw625728.blog.163.com/blog/static/3957072820091116114655254/一.各种容器的特性vector典型的序列容器,C++标准严格要求次容器的实现内存必须是连续的,唯一可以和标准C兼容的stl容器,任意元素的读取、修改具有常数时间...
分类:
其他好文 时间:
2014-12-01 19:03:20
阅读次数:
230
一般情况下我们使用的堆都是大顶堆或者小顶堆,其能实现在常数时间内获得数组的最大值或者最小值,同时满足在对数时间内删除和插入元素。但是如果要同时实现即能在常数时间内获得最大值和最小值,又能在对数时间内删除和插入元素,通常情况下的堆就不能满足上述要求了。为此介绍一种新的数据结构min-max heap
min-max heap 是一颗完全二叉树,但是二叉树的奇数层存的是max元素,偶数层存的是min...
分类:
其他好文 时间:
2014-11-19 01:48:30
阅读次数:
378
HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样 每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模) 以及要找的对象。
这些东西你应该都已经知道了。你可能还知道哈希碰撞会对hashMap的性能带来灾难性的影响...
分类:
其他好文 时间:
2014-11-11 12:44:06
阅读次数:
224
对于一个n*n的矩阵,其中只包含有0,1两种元素且,所有的0都在1之前,请找出矩阵中0最多的一行。(Given an N-by-N matrix of 0s and 1s such that in each row no 0 comes before
a 1, find the row with the most 0s in O(N) time.)
初看这题,想到的算法就是每一行都设置一个计...
分类:
其他好文 时间:
2014-11-10 23:30:00
阅读次数:
446
list容器介绍相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。(1)构造函数list c:创建一个空...
分类:
其他好文 时间:
2014-11-08 23:18:43
阅读次数:
303