资源简介
基于java的搜索引擎的基本实现。技术点如下
1.分词算法
2.倒排文档
3.检索技术
1.分词算法
2.倒排文档
3.检索技术
代码片段和文件信息
package HtmlSearch;
import java.io.IOException;
import java.util.Vector;
class BiTNode
{
CharString cs;
int DF;
int Occur;
BiTNode left;
BiTNode right;
}
class VecNode
{
BiTNode bitnode;
int level=0;
}
public class BTree
{
BiTNode root;
private BiTNode pointer;
public BTree()
{
root=null;
pointer=null;
}
public boolean searchBST(BiTNode tint DFint OccurBiTNode f)
{
if(t==null)
{
pointer=f;
return false;
}
else
{
int res=compare(DFOccurt);
if(res==0)
{
pointer=t;
return true;
}
else if(res==-1)
{
return searchBST(t.leftDFOccurt);
}
else
{
return searchBST(t.rightDFOccurt);
}
}
}
public void insertBST(BiTNode tint DFint OccurCharString cs)
{
if(searchBST(tDFOccurnull)==false)
{
BiTNode s=new BiTNode();
s.DF=DF;
s.Occur=Occur;
s.cs=cs;
s.left=null;
s.right=null;
if(pointer==null) root=s;
else if(compare(DFOccurpointer)==-1) pointer.left=s;
else pointer.right=s;
}
}
private int compare(int DFint OccurBiTNode t) //0:相等 -1:小于 1:大于
{
if(DF else if(DF>t.DF) return 1;
else
{
if(Occur else if(Occur>t.Occur) return 1;
else return 0;
}
}
public void print() throws IOException
{
Vector vv=new Vector();
VecNode vn=new VecNode();
vn.bitnode=root;
vn.level=0;
vv.add(vn);
while(vv.get(0).level<5)
{
HtmlSearch.bw.write(“{“);
HtmlSearch.bw.write(vv.get(0).bitnode.cs.ch);
HtmlSearch.bw.write(“ “+vv.get(0).bitnode.DF+“ “+vv.get(0).bitnode.Occur+“ “+vv.get(0).level+“}“+“ “);
if(vv.lastElement()==vv.get(0)) HtmlSearch.bw.newLine();
else
{
if(vv.get(0).level!=vv.get(1).level) HtmlSearch.bw.newLine();
}
if(vv.get(0).bitnode.left!=null)
{
VecNode t=new VecNode();
t.bitnode=vv.get(0).bitnode.left;
t.level=vv.get(0).level+1;
vv.add(t);
}
if(vv.get(0).bitnode.right!=null)
{
VecNode t=new VecNode();
t.bitnode=vv.get(0).bitnode.right;
t.level=vv.get(0).level+1;
vv.add(t);
}
vv.remove(0);
}
HtmlSearch.bw.flush();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 141 2010-05-16 05:37 Node.java
文件 2728 2010-07-11 19:55 BTree.java
文件 2380 2010-06-08 23:54 CharString.java
文件 186 2010-05-16 05:37 DicNode.java
文件 4336 2010-06-08 15:07 Dictionary.java
文件 2609 2010-06-08 06:09 Docli
文件 19482 2010-06-09 17:06 HtmlSearch.java
文件 999 2010-05-16 05:37 MyList.java
----------- --------- ---------- ----- ----
32861 8
相关资源
- java读取DBF解决方案(可以解决javadb
- JavaHTTP协议实现
- Java版航空订票系统源码
- Java航空订票系统
- 八数码java和报告
- 数据库设备管理系统课程设计论文J
- java编写的扫描仪程序
- Java实现的聊天室,具有群聊和私聊功
- java GUI版汉诺塔源码
- jsp 学生信息管理系统设计与实现
- java实现的网络五子棋
- java编写21点游戏(附源代码)
- ATM自动取款机(JAVA课程)基本功能实
- 距离向量路由协议模拟程序(Java)
- java实现的QQ登录界面
- java词频统计
- 搜索引擎的研究与实现Java附源码
- java 原创 坦克大战 源码 带有详细注释
- 日历时钟java版实现
- java 记事本(功能较全面且界面美观)
- 内容丰富的java电子琴
- java做的世界杯程序
-
Java Jfr
ame简单聊天程序 - 飞机订票系统(java)
- 采用JAVA编写VORONOI图
- java sql2000员工管理系统数据库、文档
-
Java ba
se64编码和解码 - java笔试题汇总及答案(另附各大公司
- java版多人聊天室
- java小作业 人事管理系统
评论
共有 条评论