[アルゴリズム]バイナリ検索
6701 ワード
バイナリサーチ
バイナリ探索とは?
Java実装コード
public static int binarySearch(List<Integer> arr, int search) {
// 데이터가 1개이고 그 데이터가 찾는 데이터면 True
if (arr.size() == 1 && arr.get(0) == search)
return 0;
// 데이터가 1개인데 그 데이터가 찾는 데이터가 아니면 false
if (arr.size() == 1 && arr.get(0) != search)
return -1;
// 데이터 자체가 없는 경우
if (arr.size() == 0)
return -1;
int middle = arr.size()/2;
if (arr.get(middle) == search)
return middle;
else {
if (arr.get(middle) < search)
return binarySearch(arr.subList(0, middle), search);
else
return binarySearch(arr.subList(middle, arr.size()), search);
}
}
🔗 Reference
Reference
この問題について([アルゴリズム]バイナリ検索), 我々は、より多くの情報をここで見つけました https://velog.io/@seongwon97/Java-Binary-Searchテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol