循序搜尋法(使用衛兵)

2021-08-25 17:50:53 字數 767 閱讀 5181

說明

搜尋的目的,是在「已排序的資料」中尋找指定的資料,而當中循序搜尋是最基本的搜尋法,只要從資料開頭尋找到最後,看看是否找到資料即可。

解法初學者看到循序搜尋,多數都會使用以下的方式來進行搜尋:

while(i < max) 

i++;

}

這個方法基本上沒有錯,但是可以加以改善,可以利用設定衛兵的方式,省去if判斷式,衛兵通常設定在數列最後或是最前方,假設設定在列前方好了(索引0的位置),我們從數列後方向前找,如果找到指定的資料時,其索引值不是0,表示在數列走訪完之前就找到了,在程式的撰寫上,只要使用乙個while迴圈就可以了。

下面的程式為了配合衛兵的設定,自行使用快速排序法先將產生的數列排序,然後才進行搜尋,若只是數字的話,通常您可以使用程式語言函式庫所提供的搜尋函式。

public class search 

tmp[0] = des;

int i = number.length;

while(tmp[i] != tmp[0])

i--;

return i - 1;

}public static void main(string args) ;

int find = search.linear(number, 3);

system.out.println(find >= 0 ? "找到數值於索引" + find : "找不到數值");

}}

迴圈搜尋法(使用衛兵)

迴圈搜尋法 使用衛兵 說明 搜尋的目的,是在 已排序的資料 中尋找指定的資料,而當中循序搜尋是最基本的搜尋法,只要從資料開頭尋找到最後,看看是 否找到資料即可。解法 初學者看到循序搜尋,多數都會使用以下的方式來進行搜尋 while i max i 這個方法基本上沒有錯,但是可以加以改善,可以利用設定...

git 使用 循序漸進總結

按順序閱讀會,慢慢建立邏輯關聯,便於記憶 1 建立本地倉庫 git init 2 本地倉庫 關聯 遠端倉庫 3 推送本地倉庫內容到遠端倉庫 6 明白一些概念 暫存區,在我們的專案中有個隱藏的目錄叫做.git資料夾,暫存區就是屬於這個裡面的,而且,只要有內容被修改了,且被add了就會被丟到暫存區,然後...

使用窮舉法實現最優路徑搜尋

呼叫sweep 窮舉演算法解決tsp問題 函式格式為 length sweep l 其中 l 距離矩陣 length 最短路徑長度 呼叫distancematrix 求距離矩陣 函式格式為 t distancematrix a 其中 a n個點的座標矩陣,是乙個n行2列的矩陣,第一列為橫座標,第二列...