1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 Treap 随机 ...
分类:
编程语言 时间:
2016-11-26 13:55:45
阅读次数:
164
在Mysql表设计中,通常会使用一个与业务无关的自增列做为主键。这是因为Mysql默认使用B-Tree索引,你可以简单理解为“排好序的快速查找结构”。如下是一个B-Tree的结构图,2层B+树,每个页面的扇出为4;并有1到6五条记录;上层记录保存每个页面的最小值;每个页面通过双向链表链接起来的;当你 ...
分类:
数据库 时间:
2016-11-24 19:20:37
阅读次数:
270
list是一个双向链表。该结构具有链表的所有功能 type List func New() *List //返回一个初始化的listfunc (l *List) Back() *Element //获取list l的最后一个元素func (l *List) Front() *Element //获取 ...
分类:
其他好文 时间:
2016-11-22 02:52:50
阅读次数:
181
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。 静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即<类名>::<静 ...
分类:
编程语言 时间:
2016-11-21 14:35:56
阅读次数:
253
线性链表——双向链表 双向链表定义: 双向链表(double linked list): 是在单表单的每个结点中,再设置一个指向前驱结点的指针域。因此,在双向链表中的结点都有两个指针域,一个指向前驱,一个指向后继。 双向链表的存储结构 typedef struts DulNode{ Element ...
分类:
编程语言 时间:
2016-11-17 19:49:54
阅读次数:
225
列表类型采用双向链表实现的,借助列表类型redis还可以作为队列使用,一个列表类型key最多能容纳2^32-1个元素 1、向列表两端增加元素 2、从列表两端弹出元素 3、获取列表中的元素个数 4、获取列表片段 5、删除列表中指定的值 6、获取/设置指定索引的元素值 7、截取列表 8、向列表插入元素 ...
分类:
其他好文 时间:
2016-11-16 13:48:56
阅读次数:
163
redis的list是一个双向链表,既可以用作栈,也可以用作队列,幸好大学学过数据结构,还有印象。 栈:先进后出,队列:先进先出 redis链表操作: 应用场景学习list链表:要获取最新的10个登录用户信息, 如果用sql的话:select * from user order by loginti ...
分类:
其他好文 时间:
2016-11-08 17:23:20
阅读次数:
248
1.把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16 转换成双向链表4=6=8=10=12=14=16。 首先我们定义的二元查找树 节点的数据结构 ...
分类:
编程语言 时间:
2016-11-06 22:39:56
阅读次数:
366
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/ 下午分享了JavaScript实现单向链表,晚上就来补充下双向链表吧。对链表的实现不是很了解的可以移步:http://www.cnblogs.com/tdws/p/603320 ...
分类:
编程语言 时间:
2016-11-06 02:39:00
阅读次数:
242