シーケンシャルナビゲーション/バイナリナビゲーション
ナビゲーションとは
シーヶンスナビゲーション
これは、先頭から必要なデータを順番に検索する方法です.
import java.util.ArrayList;
public class SequentialSearch {
public static void main(String[] args) {
ArrayList<Integer> arr = new ArrayList<>();
for (int i = 0; i < 100; i++) {
arr.add((int) Math.random() * 100);
}
for (int i = 0; i < arr.size(); i++) {
if (arr.get(i) == 5) {
System.out.println("arr.get(i) = " + arr.get(i));
break;
}
}
}
}
バイナリサーチ
import java.util.ArrayList;
import java.util.Collections;
public class BinarySearch {
public boolean Search(ArrayList <Integer> arrayList, int searchData) {
if (arrayList.get(0) == searchData && arrayList.size() == 1) {
return true;
} else if(arrayList.get(0) != searchData && arrayList.size() == 1) {
return false;
} else if (arrayList.size() == 0) {
return false;
}
int mid = arrayList.size() / 2;
if(searchData > arrayList.get(mid)) {
Search(new ArrayList<>(arrayList.subList(mid, arrayList.size())),searchData);
} else if (searchData < arrayList.get(mid)) {
Search(new ArrayList<>(arrayList.subList(0, mid)),searchData);
} else if (searchData == arrayList.get(mid)) {
System.out.println("존재합니다.");
return true;
}
return false;
}
public static void main(String[] args) {
ArrayList<Integer> arr = new ArrayList<>();
for (int i = 0; i < 100; i++) {
arr.add((int) (Math.random() * 100));
}
Collections.sort(arr);
System.out.println("arr = " + arr);
BinarySearch binarySearch = new BinarySearch();
binarySearch.Search(arr, 5);
}
}
Reference
この問題について(シーケンシャルナビゲーション/バイナリナビゲーション), 我々は、より多くの情報をここで見つけました https://velog.io/@gudnr1451/순차탐색-이진탐색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol