数据结构
aalbertini
这个作者很懒,什么都没留下…
展开
-
B-树
B-树的性质1 空树2 根节点至少有一个关键字3 非根的节点的关键字个数是[t-1, 2t-1];4 由插入过程保证了根和叶节点最多2t-1个关键字; 5 内部节点的孩子个数为 nx + 1, 取值区间就是[t, 2t] B-树节点包含如下域:n[x] 关键字个数具体n[x]个关键字,非降次序排序leaf[x], 该节点是否为叶子节点class原创 2010-05-11 17:31:00 · 595 阅读 · 0 评论 -
skiplist
数据量较大, 且要求部分有序(类似堆)或者全有序原创 2014-05-13 18:07:57 · 708 阅读 · 0 评论 -
整理的几个面试题目
整理了几个面试题, 可能会用到; 有几个难度应该算是比较大;对于没工作经验、没实际经验的本科、研究生,不容易想清楚, 更不容易写好。一堆球中有1个球较轻;求y次天平比较,才能找出 这堆球[总数x]中较轻的那个球。 求y与x的关系。x = 3^^y3个球, 1次比较就能知道; 两端各1个, 平衡则第三个较轻; 不平衡则上浮的那端较轻;9个球, 2次比较就能知道原创 2013-10-29 17:32:42 · 922 阅读 · 0 评论 -
二级hash。。?
二级hash一级hash函数是固定的。每个槽有自己的二级hash函数。 且 二级hash长度是该槽内相同element个数的平方。 这样能保证二级hash无碰撞发生。一级hash中, 某个槽内有n个元素, 对应的二级hash长度为m=n^2;这n个元素在该二级hash中的碰撞的pair有 C(n,2); 出现碰撞的概率为1/m因此, 碰撞次数的期望就是原创 2012-04-24 16:57:37 · 2033 阅读 · 0 评论 -
additive tree
衡量相似性通常有2中做法:1 spatial model: 计算点间的距离, 夹角等2 network model: ultrametric tree, additive tree.additive tree与ultrametric tree的不同之处是, additive有如下特性:1) 类内距离可能大于类间距离2) 外部点到类中点的距离不一样。 a, b属于D, ac != bc3) ultra tree中所有叶节点到根等距离, 但additive tree不是。 additive tree中距离不依赖原创 2010-08-09 17:53:00 · 1460 阅读 · 0 评论 -
区间树
如何扩张数据结构1) 选择基础数据结构2) 确定要在基础数据结构中记录得附加信息3) 提供基本(内部)操作来维护附加信息4) 设计新得接口 1 是一颗红黑树2 是以区间左端点维护的红黑树3 额外信息是在每个节点中, 保存了以该节点为根的树中的最右的区间端点 class Seg{ int i, j; int upbound;原创 2010-05-12 17:59:00 · 1219 阅读 · 0 评论 -
表达式转二叉树
以前没学好, 一直没写过, 自己想了一会, 结合网上的资料, 罗列重点如下 1 需要三个栈, 在顺序扫描表达式时, 分别存放操作符和操作数; 以及最终输出的表达式栈2 每个操作符有两种优先级,如下定义:typedef struct pTag{ /* 优先表结点类型 */ char op; int f; int g; }Pr原创 2010-05-13 17:01:00 · 774 阅读 · 0 评论 -
B-树 的其他
B-树主要为了在外存上维护大量数据, 减少IO操作. 其中的内存操作与磁盘操作相比可以忽略。 t取值一般较大, 在50-2000之间。 相比于一般的二叉树红黑树等, B-树的深度低很多; 一般磁盘中的一页或者虚拟内存的一页为整个节点的最大大小。 有一点迷惑的是, 如何在B-树中记录磁盘地址呢? 比如某内节点有50个关键字,51个孩子; 孩子地址如何用磁盘地址表述呢?原创 2010-05-12 17:16:00 · 526 阅读 · 1 评论 -
得到不小于x的最小的2的幂
得到>=x的最小的2的幂 unsigned int roundUpToNextPowerOfTwo(unsigned int x) { x--; x |= x >> 1; // handle 2 bit numbers x |= x >> 2; // handle 4 bit numbers x |= x >> 4; // handle 8 bi原创 2010-05-13 12:37:00 · 1102 阅读 · 0 评论 -
hashmap::begin() 坑
因业务需要, 使用stl中的list+hashmap实现了一个容器, 支持O(1原创 2014-08-26 10:48:03 · 1187 阅读 · 0 评论