啟發(fā)算法有: 蟻群算法,遺傳算法、模擬退火算法等 蟻群算法是一種來自大自然的隨機搜索尋優(yōu)方法,是生物界的群體啟發(fā)式行為,現(xiàn)己陸續(xù)應(yīng)用到組合優(yōu)化、人工智能、通訊等多個領(lǐng)域。蟻群算法的正反饋性和協(xié)同性使其可用于分布式系統(tǒng),隱含的并行性更使之具有極強的發(fā)展?jié)摿?。從?shù)值仿真結(jié)果來看,它比目前風(fēng)行一時的遺傳算法、模擬退火算法等有更好的適應(yīng)性。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),裕民企業(yè)網(wǎng)站建設(shè),裕民品牌網(wǎng)站建設(shè),網(wǎng)站定制,裕民網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,裕民網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
你是搜文件名,還是搜文件內(nèi)容?要是搜文件內(nèi)容可就麻煩了,有可能的話你看看Java的一個開源庫Lucene。
要是簡單的搜文件名包含的字符串,大致應(yīng)該涉及到文件樹的遍歷算法,最多用一些簡單的正則表達式來匹配文件名,一般用遞歸可以實現(xiàn)任意級目錄樹的搜索。
給你個簡單的版本吧:
package?test.tool;
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileReader;
import?java.io.IOException;
import?java.util.regex.Matcher;
import?java.util.regex.Pattern;
public?class?FindFile?{
private?String?fileName?=?"";
private?String?dir?=?"";
private?Matcher?m?=?null;
private?int?count?=?0;
public?FindFile()?throws?IOException?{
String?f?=?FindFile.class.getResource("findfile.properties").getFile();
BufferedReader?read?=?new?BufferedReader(new?FileReader(f));
dir?=?read.readLine().trim();
fileName?=?read.readLine().trim();
Pattern?p?=?Pattern.compile(fileName);
m?=?p.matcher("");
}
public?void?find()?{
File?root?=?new?File(dir);
for?(File?f?:?root.listFiles())?{
if?(f.isDirectory())?{
dir?=?f.getAbsolutePath();
find();
}?else?{
m.reset(f.getName());
if?(m.find())?{
count++;
System.out.println(f.getAbsolutePath());
}
}
}
}
public?static?void?main(String[]?args)?{
try?{
FindFile?ff?=?new?FindFile();
ff.find();
System.out.println("\n共找到文件數(shù)目:"?+?ff.count);
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}
里面用到的findfile.properties,舉個例子:
F:\download
vod.*.exe
運行效果如下:
F:\download\firefox\vodplayer.exe
F:\download\ie\vodplayer.exe
共找到文件數(shù)目:2
這個。。。我隨便亂說幾句啊,說的不對別見笑。
有一個數(shù)組 當中存有一些字符串
另外有一個字典文件 我也將它導(dǎo)入一個數(shù)組 有50000多個單詞
然后要找出字符串中包含的單詞
由你給的條件可知:
1。數(shù)組 應(yīng)該是從前到后依次順序掃描字符串。
2。50000多個單詞的字典文件一定優(yōu)化。具體優(yōu)化要看具體內(nèi)容吧。
比如你可以按單詞的首字母排序,然后分組。等掃描字符串的時候可以分組比較。但這種方法應(yīng)該沒省多少時間。
你還可以把50000多個單詞的字典文件按單詞的長度進行分組。比如1個字母的分成一組,二個字母的分成一組。。。。N個字母的分成一組,這樣就分成了N組。然后掃描字符串的時候你可以按后續(xù)匹配(好象叫這個算法吧,名字記不清了)算法,這樣就可以省很多時間了。
你還可以這樣做,因為你要查的是單詞,單詞一定有意義。那你可以直接把你的字符串數(shù)組先進行語法、語義分析并分割,然后再去匹配你的字典。這樣應(yīng)該是最快的。但這要用到自然語言處理。。。
應(yīng)該要用遞歸方法吧? binarySearch()方法應(yīng)該要帶四個參數(shù)(數(shù)組,要查找的數(shù)值,查找范圍的最左邊下標,查找范圍的最右邊下標)。然后就利用遞歸方法在 if (x a[middle]) 和 else 后面通過修改查找范圍自調(diào)用binarySearch()方法;
數(shù)組從第一個開始比較,完全相同(當前數(shù)組值和輸入值一模一樣)A就賦值為true;不一樣A的值不變
BufferedImage image;
int w = image.getWidth();
int h = image.getHeight();
int color;
for (int i = 0; i w; i++) {
for (int j = 0; j h; j++) {
color = image.getRGB(i, j);
}
}
不知道你到底要做什么,這個只是幫你拿到圖上的點的顏色。那些提取特征點的算法就是相當復(fù)雜了,比如透過值,顏色分布值,對比度,亮度,甚至要多做因素綜合考慮起來,難度不小的。java做圖形是越來越少了,qq282052309