数据文件结构 Extent 在每一个数据文件内,MongoDB把所存储的BSON文档的数据和B树索引组织到逻辑容器“Extent”里面。如下图所示(my-db.1和my-db.2 是数据库的两个数据文件): 一个文件可以有多个Extent 每一个Extent只会包含一个集合的数据或者索引 同一个集合 ...
分类:
数据库 时间:
2017-01-24 11:04:22
阅读次数:
206
首先记录一下对链表的理解,最初看链表是在教材上看的,上面是用结构体, 理解起来还不是很困难,我也以为自己懂了,然而看到紫书上链表用的是数组(UVA11988),真的是。。到最后把他的代码背下来了都还是有点晕(/(ㄒoㄒ)/~~),那个时候做题有点匆忙,也就没深究,不过后面那道(也就是这道)也就没再写 ...
分类:
其他好文 时间:
2017-01-20 23:10:36
阅读次数:
239
约瑟夫问题的递推公式是f[1]=0,f[i]=(f[i-1]+m)mod i。不过是一个“数据结构之指针和链表”里面的问题,所以还是先用链表和指针解决。因为要移除中间元素,所以需要一个双向链表,这里用一个数组来模拟: 1、构建结构和数组: 2、初始化数组元素的id: 3、初始化数组元素的指针: 4、 ...
分类:
其他好文 时间:
2017-01-20 14:27:39
阅读次数:
213
列表容器主要用于存放链表,其中的链表是双向链表,可以从任意一端开始遍历。列表容器是需要按顺序访问的容器。另外,列表容器不支持随机访问迭代器,因此某些算法不能适合于列表容器。列表容器还提供了另一种操作 拼接(splicing),其作用是将一个序列中的元素插入到另一个序列中。其头文件为<list> 1、 ...
分类:
编程语言 时间:
2017-01-20 12:51:12
阅读次数:
194
一,list容器基本概念 1.list容器基本知识 list容器的底部数据结构为双向链表,可以高效的进行插入和删除元素。 list因为底层数据结构是双向链表,因此不支持下标操作和.at()函数的操作。要获取元素,必须从头到尾遍历。 使用list容器必须引入头文件# include<list>。 二, ...
分类:
其他好文 时间:
2017-01-18 16:25:43
阅读次数:
283
数据类型List链表(1)介绍list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。该list链表类型应用场景:获得最新的10个登录用户信息:select * from user order by logintime ...
分类:
其他好文 时间:
2017-01-16 00:01:19
阅读次数:
230
首先是单链表(带附加表头),实现类代码如下: 测试代码如下: 小结: 一.单链表与顺序表相比: 1.顺序表可以方便的随机存取表中的任一节点,速度快;但是在表中插入删除一个数据时,为了保持其他元素的相对次序不变,平均需要移动一半的元素,效率很低;还有若事先对表长估计不足,过小会形成内存浪费,过大则需要 ...
分类:
编程语言 时间:
2017-01-15 18:15:10
阅读次数:
294
2288: 【POJ Challenge】生日礼物 Description ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, ..., AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物。 自然地,ftiasch想要知道选择元素之和的最大值。你能帮 ...
分类:
其他好文 时间:
2017-01-14 12:24:06
阅读次数:
476
双向链表主要为了解决单链表找前驱的问题。除了插入、删除操作之外,其他操作与单链表都相同。因此这里只是比较简单的写了双向链表的插入和删除操作。画出结点结构图的话,思路会很清晰,线性表这块还算是比较简单的能够实现。 不积跬步,无以至千里;不积小流,无以成江海。坚持着。 ...
分类:
其他好文 时间:
2017-01-13 01:14:43
阅读次数:
377
1、list是一种以双向链表方式实现的一种顺序容器。list容器中,存放元素的存储单元可以是连续的也可以是不连续的。 2、list容器的特点是:<1>可以对list中的每一个元素进行插入、删除、查找操作;与deque和vector容器相比,list进行这些操作的效率更高; <2>由于list中的元素 ...
分类:
其他好文 时间:
2017-01-12 12:37:04
阅读次数:
162