算法
beijirose
学习java
展开
-
二叉树
二叉树是结点的有限集合,这个有限集合或者为空集(称为空二叉树),或者由一个根结点及两棵不相交的、分别称为这个根的左子树和右子树的二叉树组成。 图5.12所示的是一棵二叉树,根结点为A,其左子树包含结点B、D、G,右子树包含结点C、E、F、H、I。根A的左子树又是一棵二叉树,其根结点为B,有非空的左子树(由结点D、G组成)和空的右子树。根A的右子树也是一棵二叉树,其根结点为C,有非空的左子树原创 2013-02-21 18:28:13 · 307 阅读 · 0 评论 -
KMP算法
根据定义手工求模式 a b a a b c a c的next函数: (1)next(1)=0 (2)next(2)=1 (t1 =a中不存在真子串,即不存在k满足1 (3)next(3)=1 (t1 t2=a b没有重叠真子串) (4)next(4)=2 (t1 ...t3=a b a有重叠真子串t1 和t3,所以k=2) (5)next(5)=2 (t1 ...t4=a b a原创 2013-02-21 18:29:16 · 549 阅读 · 0 评论 -
算法
这篇文章的算法(比如叫做XDMP算法)其扫描速度已经是比较快的了,并且其思路也比较好理解,我们在这个文章的基础上进行讨论会比较有意义。首先我们先整理一下这个算法的思路: 1、首先扫描文章里面的每一个字符,只有当某一个字符是脏字表中任意一个脏词的第一个字符(称为“起始符”),我们才试图看看接下来是否是脏字(触发检索)。 2、但是我们也不是毫无头绪的就开始循环脏字表的每一个词条: 2.1、我们往后原创 2013-02-21 18:29:18 · 235 阅读 · 0 评论 -
图基本概念
1 图的基本概念 图 (G)是一种比线性表和树结构更复杂的数据结构,是非线性的数据结构,应用非常广泛。 图 :图G由两个集合V(G)和E(G)组成,记为:G=(V,E)。其中,V(G)是顶点的非空有限集合,E(G)是边的有限集合,边是顶点的无序对或有序对。 有向图 :若E(G)是有向边(也称为弧)的有限集合时,则为有向图。弧是顶点的有序对,记为,其中V、W是顶点,V称为弧尾,W称为弧头原创 2013-02-21 18:28:11 · 283 阅读 · 0 评论 -
Lucene
Lucene:基于Java的全文检索引擎简介 基于Java的全文索引/检索引擎——Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。 Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland原创 2013-02-21 18:29:07 · 272 阅读 · 0 评论 -
算法
package zhouqiang.wordfliter; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.HashMap; import java.util.HashSet; public class Illega原创 2013-02-21 18:29:20 · 241 阅读 · 0 评论 -
99%的海量数据处理技巧
何谓海量数据处理? 所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。 那解决办法呢?针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树,针对空间,无非就一个办法:大而化小:分而治之原创 2013-02-21 18:31:56 · 439 阅读 · 0 评论