本篇文章给大家谈谈java搜索算法,以及编程搜索算法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、java二分搜索算法怎样实现?2、求 java 文件搜索的算法,或是源文件3、Java用查找算法的一段代码如下: 其中boolean A=false; if(name.equals(arr[i])) 麻烦解释一下 尽量直白4、java关键字查询算法5、java中哪种查找算法最有效率
java二分搜索算法怎样实现?
应该要用递归方法吧? binarySearch()方法应该要带四个参数(数组,要查找的数值,查找范围的最左边下标,查找范围的最右边下标)。然后就利用递归方法在 if (x a[middle]) 和 else 后面通过修改查找范围自调用binarySearch()方法;
求 java 文件搜索的算法,或是源文件
总体算法,是一个递归调用。
先用你指定的目录路径new 一个File
然后使用list()方法列出其中的文件和文件夹。
返回值为String [],
循环取出数组中每一个元素,并用路径+元素再new一个File并判断是文件还是文件夹
如果是文件,判断扩展名是不是你想要的
如果是文件夹,就递归
大概思路是这样
Java用查找算法的一段代码如下: 其中boolean A=false; if(name.equals(arr[i])) 麻烦解释一下 尽量直白
数组从第一个开始比较,完全相同(当前数组值和输入值一模一样)A就赋值为true;不一样A的值不变
java关键字查询算法
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;
public class search
{
//查找方法,参数,文件绝对路径,查找关键字
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″));
}
}
修改了下,加两个变量,可以指出查找的位置。
import java.io.FileReader;
import java.io.BufferedReader;
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中哪种查找算法最有效率
这个问题不能一概而论
如果有一种算法优于其他算法,那么其他算法就不存在了不是?
所以,要看在什么情况下,那么有这么几个方面
背景数量级和匹配数量级,就是说你要在多少数据中查找多少数据。
背景数据差异度,背景数据如果包罗万象,或者都是数字,那么选择的算法区别就大了
背景数据整理程度。很多人在选择查找算法时不考虑这个,但是这在实际应用中很有异议,比如数据都排序过和没有排序过,可想而知算法的选择有很大的不同。
匹配方式,是用“等于” 这种方式匹配,还是用like这种方式匹配,也对算法有很大影响。
关于java搜索算法和编程搜索算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。