搜索算法代码java 搜索 算法

Java用查找算法的一段代码如下: 其中boolean A=false; if(name.equals(arr[i])) 麻烦解释一下 尽量直白数组从第一个开始比较,完全相同(当前数组值和输入值一模一样)A就赋值为true;不一样A的值不变
JAVA中的查找算法如何实现... 高手帮帮忙这个 。。。我随便乱说几句啊 , 说的不对别见笑 。
有一个数组 当中存有一些字符串
另外有一个字典文件 我也将它导入一个数组 有50000多个单词
然后要找出字符串中包含的单词
由你给的条件可知:
1 。数组 应该是从前到后依次顺序扫描字符串 。
2 。50000多个单词的字典文件一定优化 。具体优化要看具体内容吧 。
比如你可以按单词的首字母排序,然后分组 。等扫描字符串的时候可以分组比较 。但这种方法应该没省多少时间 。
你还可以把50000多个单词的字典文件按单词的长度进行分组 。比如1个字母的分成一组 , 二个字母的分成一组 。。。。N个字母的分成一组 , 这样就分成了N组 。然后扫描字符串的时候你可以按后续匹配(好象叫这个算法吧,名字记不清了)算法,这样就可以省很多时间了 。
你还可以这样做,因为你要查的是单词,单词一定有意义 。那你可以直接把你的字符串数组先进行语法、语义分析并分割,然后再去匹配你的字典 。这样应该是最快的 。但这要用到自然语言处理 。。。
java关键字查询算法import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;
public class search
{
//查找方法搜索算法代码java,参数,文件绝对路径,查找关键字
public static boolean search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
//int i = 1;
while((s = br.readLine()) != null)
{
if(s.indexOf(key) != -1)
{
return true;
}
}
return false;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","l2"));
}
}
修改了下,加两个变量,可以指出查找搜索算法代码java的位置 。
import java.io.FileReader;
import java.io.BufferedReader;
【搜索算法代码java 搜索 算法】import java.io.File;
public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static String search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
int i = 1;
int m = 0;
while((s = br.readLine()) != null)
{
if((m = s.indexOf(key)) != -1)
{
return "第" i "段,第" m "处";
}
i;
}
return null;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","asd"));
}
}
这个,查汉字是没有问题的 。
另外,你要全文检索的话,indexOf()还有个方法,indexOf(int start,String key),指定开始查找的位置跟关键字,你查到一处后,将这个数值加1,做为继续查找的开始位置就可以了 。
java二分搜索算法怎样实现?应该要用递归方法吧? binarySearch()方法应该要带四个参数(数组,要查找的数值,查找范围的最左边下标,查找范围的最右边下标) 。然后就利用递归方法在if (xa[middle])和else后面通过修改查找范围自调用binarySearch()方法;
搜索算法代码java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于搜索 算法、搜索算法代码java的信息别忘了在本站进行查找喔 。

    推荐阅读