导航:首页 > 源码编译 > java查找算法

java查找算法

发布时间:2022-01-15 08:05:00

㈠ 快速查找算法 具体文字描述 附java程序更好 拜托各位了

快速查找算法 有叫做二分发,前提是必须对有序数组中的元素进行递归查找, 首先假设目标在数组中中间位置,与中间位置比较,如大于,则重左侧开始查找,如小于,则右侧开始查找,这样每次查找都能排除当前的一半,

㈡ java中哪种查找算法最有效率

这个问题不能一概而论


如果有一种算法优于其他算法,那么其他算法就不存在了不是?


所以,要看在什么情况下,那么有这么几个方面

  1. 背景数量级和匹配数量级,就是说你要在多少数据中查找多少数据。

  2. 背景数据差异度,背景数据如果包罗万象,或者都是数字,那么选择的算法区别就大了

  3. 背景数据整理程度。很多人在选择查找算法时不考虑这个,但是这在实际应用中很有异议,比如数据都排序过和没有排序过,可想而知算法的选择有很大的不同。

  4. 匹配方式,是用“等于” 这种方式匹配,还是用like这种方式匹配,也对算法有很大影响。

㈢ JAVA中的查找算法如何实现... 高手帮帮忙

这个。。。我随便乱说几句啊,说的不对别见笑。

有一个数组 当中存有一些字符串
另外有一个字典文件 我也将它导入一个数组 有50000多个单词
然后要找出字符串中包含的单词

由你给的条件可知:
1。数组 应该是从前到后依次顺序扫描字符串。
2。50000多个单词的字典文件一定优化。具体优化要看具体内容吧。
比如你可以按单词的首字母排序,然后分组。等扫描字符串的时候可以分组比较。但这种方法应该没省多少时间。
你还可以把50000多个单词的字典文件按单词的长度进行分组。比如1个字母的分成一组,二个字母的分成一组。。。。N个字母的分成一组,这样就分成了N组。然后扫描字符串的时候你可以按后续匹配(好象叫这个算法吧,名字记不清了)算法,这样就可以省很多时间了。
你还可以这样做,因为你要查的是单词,单词一定有意义。那你可以直接把你的字符串数组先进行语法、语义分析并分割,然后再去匹配你的字典。这样应该是最快的。但这要用到自然语言处理。。。

㈣ java 线性查找算法

package abc;
import java.util.Scanner;
import java.util.Random;
public class Test1 {

public static void main(String[] args) {
Random rand = new Random();
Scanner stdIn = new Scanner(System.in);
final int n = 12; // 元素个数
int[] a = new int[n]; // 声明数组
for (int j = 0; j < n; j++)
a[j] = rand.nextInt(10);
System.out.print("数组a中全部元素的值\n{ ");
for (int j = 0; j < n; j++)
System.out.print(a[j] + " ");
System.out.println(" }");
System.out.print("要查找的数值:");
int key = stdIn.nextInt();
int i;
for (i = 0; i < n; i++)
if (a[i] == key)
break;
if (i < n) // 查找成功
System.out.println("该元素是a[" + i + "]。");
else // 查找失败
System.out.println("该元素不存在。");
}
}
望采纳!

㈤ 用Java实现搜索算法的关键技术是什么呀

java数据结构算法实现

㈥ 有道题目求答案,用java实现顺序查找算法

...说得太笼统了,是顺序查找基本是一个循环代码解决,但是你是查找什么呢?最大?最小?还是包含某种格式字符?没说清楚就没法具体给出代码。。。

㈦ 用java做简单交通查询算法

importjava.io.*;
publicclassTest
{

/**
*@paramargs
*/
publicstaticvoidmain(String[]args)throwsIOException
{
//TODOAuto-generatedmethodstub
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Stringstr=br.readLine();
System.out.println("请输入要查询的单词");
Strings=br.readLine();

intcount=0;
intm=0;

intbegin=-1;
intend=-1;
while(true)
{
if(s.length()==1)
{
begin=str.indexOf(s);
if(m==0)
{
System.out.println("第一次出现在"+begin+"字节处");
}
m++;
end=begin;
}
else
{
begin=str.indexOf(s.substring(0,1));
if(m==0)
{
System.out.println("第一次出现在"+begin+"字节处");
}
end=str.indexOf(s.substring(s.length()-1));
}
if(begin==-1||end==-1)
{
break;
}

if(s.equals(str.subSequence(begin,end+1)))
{
count++;
str=str.substring(end+1);
}
else
{
str=str.substring(end+1);
}
}

System.out.println("单词"+s+"出现了"+count+"次");
}
}

㈧ java 多条件 查询 算法


将数据转换成16进制,可以用InteInteger.toHexString()这个方法。

将16进制转换成10进制,可以用intValue()方法。

高低位转换就不知道了哦。。。

下面是测试代码,希望能帮到你~!

public class DataTransfer {

public static void main(String[] args) {
// TODO Auto-generated method stub
Integer a = -1;
System.out.println(Integer.toHexString(a));
Integer b = 0xff;
System.out.println(b.intValue());
}

}

下面这个是在网上找到的,高低位转换:

// Java读取后,顺序已经反了
int javaReadInt = ;

// 将每个字节取出来
byte byte4 = (byte) (javaReadInt & 0xff);
byte byte3 = (byte) ((javaReadInt & 0xff00) >> 8);
byte byte2 = (byte) ((javaReadInt & 0xff0000) >> 16);
byte byte1 = (byte) ((javaReadInt & 0xff000000) >> 24);

// 拼装成 正确的int
int realint = (byte1& 0xff)<<0 + (byte2& 0xff)<<8 + (byte3& 0xff)<< 16 +(byte4& 0xff)<<24 ;

㈨ JAVA数组中查找算法中equals和==的问题

你这里的是字符串的操作,所以:
equals
比较的数值是否相等
==
比较的是不是同一个对象,即是不是在同一块内存

阅读全文

与java查找算法相关的资料

热点内容
java与sqlserver数据库连接 浏览:21
铁路解压视频全过程 浏览:442
主备核心交换机如何连接服务器 浏览:704
白金卡哪个app最靠谱 浏览:666
本田汽车空调压缩机保险丝 浏览:155
康佳led47r5500pdf通病 浏览:821
cad圆相切命令 浏览:69
bmp文件夹打开 浏览:502
u盘装系统文件下载到哪个文件夹 浏览:21
es系统封装教程程序员大本营 浏览:523
程序员聚餐喝什么酒好 浏览:608
编译程序生成安装文件 浏览:955
linux查看usb设备 浏览:284
安卓怎么禁止app充值 浏览:559
动荡对加密货币的影响 浏览:358
国家反诈app哪里看注册时间 浏览:563
打孔式文件夹怎么装视频 浏览:29
php怎么学比较好 浏览:381
python中关于函数调用 浏览:362
debian系统命令行如何排序 浏览:407