![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
烂笔头_chang
这个作者很懒,什么都没留下…
展开
-
ac自动机
字典树+kmp算法 遍历root节点所有子节点a b c,放入queue中 然后queue中移除一个节点c1,然后遍历c1的所有子节点 即d2,并加入到queue中, 如果c1.fail[d2]!=null说明有公共前缀,然后完成fail节点指向(c2节点指向c1节点) 如果==null说明没有公共前缀,就把fail指向root(d2节点) 依次递归,找完所有节点,即完成ac自动机的构建 构建...原创 2019-03-11 21:33:16 · 409 阅读 · 0 评论 -
双数组压缩树
两个数组 base check begin 偏移量 公式 check[begin+code]=begin base[begin+code]=begin(子节点的) ps:每个词语的结尾 默认是有一个字符的 这个字符code=0带入公式如下 check[begin]=begin base[begin]=index(这个词语的id) 偏移量是不能重复的 流程演示 输入词 12 123 345 39...原创 2019-03-11 22:22:12 · 205 阅读 · 0 评论 -
堆排序
最近用到PriorityQueue,里面用到小顶堆,在这里记录下 PriorityQueue<Integer> queue=new PriorityQueue<>(); queue.add(3); queue.add(9); queue.add(6); queue.add(8); queue.add(4); queue.add(5); Integer i=n...原创 2019-04-05 17:48:15 · 90 阅读 · 0 评论