이 기사의 예는 Java의 두 포인트 검색 알고리즘을 알려줍니다. 참조를 위해 모든 사람을 위해 공유하십시오. 세부 사항은 다음과 같습니다.
1. 전제 조건 : 두 지점 검색의 전제는 찾아야 할 배열을 정렬해야한다는 것입니다.
2. 원리 : 중간 값 전에 숫자를 세 부분으로 나누십시오 (SO -CALLED 중앙값은 배열의 중간 위치의 값이 중간 값 앞에서 발견됩니다). 그런 다음 재귀 프로세스는 전반전 또는 후반을 세 부분으로 계속 분해합니다. 이해하지 못하면 온라인으로 갈 수 있습니다. 설명에서,이 알고리즘은 재귀에 적합하며, 재귀 인 사람들은 사이클로 구현 될 수 있음을 알 수 있습니다. 따라서 우리의 구현은 재귀와 사이클의 두 가지 유형으로 나뉩니다
코드 구현 :
Public Class BinarySearch {public static void main (string [] art) {int i = 0; i <10000000) {searchArrrrrrrrrrrr [i] = i;} 시스템. println (binsearch (searcharrrrrr, 0, searcharr.length-99)); END -START)/2 + 시작 (sear == arr [mid]) {return> = end) {sear <arr [mid]) {return binsearch (ARR, 0, MID -1, SEAR);} else if (sear> arr [mid]) {return binsearch (arr, mid+1, end, sear);} return -1;} // 사이클 2 점을 찾으십시오. public static int binsearch (int arr [], int mid = arrr.length/2; 시작)/2+시작; if (key == arr [mid]) {return mid;} else if (key <= arr [mid]) {end = mid -1;} else if (key> = arr [mid. ]) {start = mid+1;}} return -1;}효율성 비교 :
사이클 듀플렉스 검색 알고리즘의 효율성은 재귀 듀얼 -Point 검색 알고리즘보다 높습니다.
이 기사는 모든 사람의 Java 프로그램 설계에 도움이되기를 바랍니다.