菜鸟求一个高效率的java模糊查询算法,希望各位前辈帮帮忙。。。
陈志凯 2011-09-13 05:18:55 这两天我在研究搜索引擎,今天下午好不容易写了个简单易懂的算法,只是。。。
这个效率嘛,就见不得人咯。
25万条数据,竟用了15秒钟,汗。。。
比起谷歌的,我没脸见人了。。。
哪位前辈能给个比较快速的算法或者指点下我刚写的、不成器的算法:
/**
* 根据姓名进行模糊查询
* @param ulist
* @param name
* @return
*/
public static void checkByName(List<UserInfo> ulist,String name){
//int index=0;
int scan=ulist.size();
for(int i=0;i<scan;i++){
UserInfo user=ulist.get(i);
for(int k=0;k<user.getName().length();k++){
char s1=user.getName().charAt(k);
for(int h=0;h<name.length();h++){
char s2=name.charAt(h);
if(s1==s2){
h=name.length();
k=user.getName().length();
}
if(s1!=s2 && h==name.length()-1 && k==user.getName().length()-1){
ulist.remove(i);
//需要重新排序
//paixu(ulist,i);
i--;
scan--;
}
}
}
}
}
万分感谢!