自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

binling的专栏

主要是备忘性质的笔记和零言碎语

  • 博客(9)
  • 收藏
  • 关注

原创 有限自动机总结

有限自动机A用来识别字符串,它由5部分组成:1)alphabet,字符集2)states,状态集合3)init,初始状态4)trans(s, ch),状态转移函数5)end 可接受state 集合A(str) == true的意思是,A可以接受字符串str,即从初始状态init读入str所有字符之后所达到的状态属于集合end, tran(init, str) 属于 end

2016-09-26 13:07:10 6466

原创 爬虫,索引,PageRank,搜索,综合例子

indexer 主要包含:html parser,word generator, url id generator,inverted index(keyword->[docId],docs table(url, id, refCount)word generator的职责是输入一个text文本,返回一个word iterable。具体参数有,最小word长度,exclude list,

2016-09-23 16:34:56 1392

原创 再谈Parser

Parser的作用就是把一个字符串(一维,流)parse成一个数据结构。Parser的写法大概有2种方式1)递归下降(recursive descend)2)事件驱动的状态机。状态就是一些表明当前状态的变量和最终要parse出的data structure。xml parser, json parser,key value pair parser, 都是第二种方法,其中所谓

2016-09-19 22:41:10 822

原创 TrieMap 实现

最大问题是占空间,R = 256,插入百万数量级的key就 OutOfMemory了。在key的数目比较小的情况下,正如理论指出的一样,性能高于HashMap;但到了占内存比较多的时候由于影响系统整体运行,性能不如HashMap。用HashMap而不是大小为256的数组作为link的时候,占内存少的多,几千万级的都不会OutOfMemory。仔细算一下 256-way Trie的一个N

2016-09-18 23:14:48 1715

原创 AC 自动机

多pattern的匹配, 比KMP更generalpublic class ACAutomata { static final int R = 26; private class Node { Node next[] = new Node[R]; Node fail; String prefix; int count; } public Node root = new

2016-09-18 10:38:28 312

原创 树堆TreapMap 实现

测试结果居然比红黑树,AVL都好。RBT,AVL,SBT,Treap 区别只是节点信息和 maintain函数。所有的读操作都可以放在普通BST里,insert 和 delete(除了RBT)也可以,只需要扩展Node 和 maintain函数就行。import java.util.Random;public class TreapMap, Value> { private

2016-09-15 19:48:51 641

原创 SBT(size balanced tree) 和AVL 合二为一

SBT 和AVL类似,只是是基于size 进行balance的,旋转的case是一样的。public class AVLOrSBTTreeMap, Value> { public enum BF {HEIGHT, SIZE, NONE}; //balance factor private BF bf = BF.HEIGHT; public AVLOrSBTTreeMap() { }

2016-09-15 19:40:04 682

原创 基于LLRB 红黑树的 TreeMap 实现

public class LLRBMap, Value> { private static final boolean RED = true; private static final boolean BLACK = false; private class Node { Key key; Value value; Node left, right; int sz, ht;

2016-09-14 14:51:32 663

原创 基于AVL自平衡树的TreeMap实现

自平衡的插入struct node { int val; struct node* left; struct node* right; int ht; node(int v) : val(v), left(nullptr), right(nullptr) {} node() : left(nullptr), right(nullptr) {} node(i

2016-09-08 16:35:35 765

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除