B树(B-Tree)1970年由R. Bayer和E.
Mccreight提出的一种适用于外查找的树,一种由BST推广到多叉查找的平衡查找树,由于磁盘的操作速度远小于存储器的读写速度,所以要求在尽量少
的操作次数内完成CPU分配的任务,B树就按照此原则设计,B树与红黑树的主要区别在于B树节点可以有超...
分类:
其他好文 时间:
2014-05-30 09:26:21
阅读次数:
377
二叉堆(Binary
Heap)二叉堆是完全二叉树(或者近似完全二叉树);其满足堆的特性:父节点的值>=(<=)任何一个子节点的键值,并且每个左子树或者右子树都是一
个二叉堆(最小堆或者最大堆);一般使用数组构建二叉堆,对于array[i]而言,其左子节点为array[2*i],其右子节点为 arr...
分类:
其他好文 时间:
2014-05-29 14:02:37
阅读次数:
309
A*搜索算法(A Star Search
Algorithm)A*算法主要用于在二维平面上寻找两个点之间的最短路径。在从起始点到目标点的过程中有很多个状态空间,DFS和BFS没有任何启发策略所以穷举所有的状
态空间,不适合仅需对局部进行搜索的应用。启发式搜索的关键在于:当前节点在选择下一步节点的时候...
分类:
其他好文 时间:
2014-05-29 13:10:48
阅读次数:
227
议题:线段树(Interval
Tree)分析:线段树是一种二叉搜索树,将一个大区间划分成单元区间,每个单元区间对应一个叶子节点;内部节点对应部分区间,如对于一个内部节点[a,
b]而言,其左子节点表示的区间为[a, (a+b)/2],其右子节点表示的区间为[1+(a+b)/2, b];对于区间长度...
分类:
其他好文 时间:
2014-05-29 01:33:28
阅读次数:
419
议题:布隆过滤器(Bloom
Filter)分析:BF由一个很长的二进制向量和一系列随机映射的函数组成,通过多个Hash函数将一个元素映射到一个Bit
Array中的多个点,查询的时候仅当所有的映射点都为1才能判断元素存在于集合内;BF用于检索一个元素是否在一个集合中,记忆集合求交集;优点是空间 和...
分类:
其他好文 时间:
2014-05-29 00:18:07
阅读次数:
324
议题:动态规划(Dynamic
Programming)分析:DP主要用于解决包含重叠子问题(Overlapping
Subproblems)的最优化问题,其基本策略是将原问题分解为相似的子问题,通过求解并保存最简单子问题的解,然后逐步合并成为原问题的解,由于需
要查询子问题的解,所以需要一个表格记...
分类:
其他好文 时间:
2014-05-28 23:47:18
阅读次数:
463
议题:AC自动机(Aho-Corasick
Automation)分析:此算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一;一个常见的例子就是给定N个单词,给定包含M个字符的文章,要求确定多少个给定的单词在文章中出现过;AC自动机在匹配文本时不需要回溯,处理时间复杂度与pattern无关...
分类:
其他好文 时间:
2014-05-28 23:00:00
阅读次数:
236
出题:线索二叉树(Threaded Binary
Tree)分析:为除第一个节点外的每个节点添加一个指向其前驱节点的指针,为除最后一个节点外的每个节点添加一个指向其后续节点的指针,通过这些额外的指针可以某种遍历方式对二叉树进行遍历,而加了这些额外指针的二叉树就是线索二叉树;对于含有N个节点的二叉树而...
分类:
其他好文 时间:
2014-05-26 18:39:13
阅读次数:
273
出题:TRIE树 (Trie Tree or Prefix
Tree);分析:又称字典树或者前缀树,一种用于快速检索的多叉树结构;英文字母的Trie树为26叉树,数字的Trie树为10叉树;All the
descendants of a node have a common prefix of t...
分类:
其他好文 时间:
2014-05-26 18:31:06
阅读次数:
297
周末百度笔试,答得题都会,就是不仔细不心细,提前一个小时交卷子,想起来就已经晚了。问了一个cookie的问题,我SB的蒙住了,于是乎,似乎是跪掉了,回来后总结了下Cooke的相关问题。
分类:
其他好文 时间:
2014-05-26 18:02:26
阅读次数:
209