導航:首頁 > 源碼編譯 > 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查找演算法相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26