这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。 hash_map基于hash table(哈希表)。哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比 ...
分类:
其他好文 时间:
2016-12-23 00:50:26
阅读次数:
262
kafka是一种分布式的,基于发布订阅的消息系统。具有以下几个方面的特性。 1.能够提供常数时间的消息持久化及访问性能。 2.高吞吐率。廉价的商用机器上能够达到每秒100k条的消息传输。 3.支持kafka server间的消息消息分区,分布式消费,分区内消息的顺序性。 4.支持水平扩展。 5.支持 ...
分类:
其他好文 时间:
2016-11-14 07:45:11
阅读次数:
235
一概念 定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。当输入量n逐渐加大时,时间复杂性的极限情形称为算法的“渐近时间复杂性”。我们常用大O表示法表示时间复杂性,注意它是某一个算法的时间复杂性。大O表示只是说有上界,由 ...
分类:
其他好文 时间:
2016-11-05 23:39:49
阅读次数:
220
教材学习内容总结 在简单模型中,存储器系统是一个线性的字节数组,而cpu能够在一个常数时间内访问每个存储器位置。实际上,存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。书上有的内容我就不重复赘述了,只需要将部分重要的知识点归纳总结一下。 存储技术 静态RAM(SRAM):用来作为高 ...
分类:
其他好文 时间:
2016-10-30 19:51:22
阅读次数:
358
一、Java_Collections表的实现 与c不同Java已经实现并封装了现成的表数据结构,顺序表以及链表。 1、ArrayList是基于数组的实现,因此具有的特点是:1.有索引值方便查找,对于get和set操作花费常数时间,2.但是其缺点是:插入/删除某个数据的代价比较大。 2、LinkedL ...
分类:
编程语言 时间:
2016-10-29 12:16:19
阅读次数:
248
散列表的基本思想通过键来直接计算出数据的存放地址,而避免了数组或者其他数据结构的逐个比较查找。 可以在常数时间内实现查找、插入和删除操作,代价是不支持任何有关排序的操作。 键到地址的映射,称作散列函数。散列函数需要满足两个要求:计算简单;冲突少。 不同的情况,可以有不同的散列函数,在此不对散列函数做 ...
分类:
其他好文 时间:
2016-10-10 01:24:34
阅读次数:
120
相对于vector容器的连续线性空间,list是一个双向链表,它有一个重要性质:插入操作和删除操作都不会造成原有的list迭代器失效,每次插入或删除一个元素就配置或释放一个元素空间。也就是说,对于任何位置的元素插入或删除,list永远是常数时间。 常用函数 (1) 构造函数 list<Elem> c ...
分类:
其他好文 时间:
2016-08-17 15:35:30
阅读次数:
243
Design a data structure that supports all following operations in average O(1) time. Note: Duplicate elements are allowed. insert(val): Inserts an ite ...
分类:
其他好文 时间:
2016-08-10 12:41:32
阅读次数:
126
小白书里数据结构基础线性表的训练参考 题目链接 http://acm.hust.edu.cn/vjudge/problem/19518 解题思路 用到队列。大队列表示团体顺序,小队列表示团体内部顺序。 题目提示入队出队要常数时间。。。 于是用到两个映射 成员映射到团体序号。只需开个数组存每个成员的团 ...
分类:
其他好文 时间:
2016-08-08 00:58:27
阅读次数:
128
这个题目的关键是要有一个最小值的私有变量,在入栈和出栈时检查一下最小值是否变化即可,就能实现返回最小值是在常数时间内 不过题目的注释中是有错误的,因为用new得到的是一个指针,不能用.运算符而是用->运算符 Design a stack that supports push, pop, top, a ...
分类:
其他好文 时间:
2016-08-07 21:36:54
阅读次数:
151