>Java >java지도 시간 >Java 검색 예: 요소(코드)를 찾는 바이너리 메서드

Java 검색 예: 요소(코드)를 찾는 바이너리 메서드

不言
不言원래의
2018-08-21 14:20:062549검색

이 기사의 내용은 Java 검색 예제: 바이너리 방법으로 요소를 찾는 방법(코드)에 대한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

이진 검색 원리 아이디어:

검색 데이터 및 # 🎜 🎜#Ordered array 가운데 요소를 비교하여 가운데 요소의 왼쪽에 있는지 오른쪽에 있는지 확인하고 오른쪽에 있는 경우 최소 검색 색인 값을 조정합니다. 그런 다음 다음 루프를 입력합니다. 왼쪽에 있으면 최대 검색 인덱스 값을 조정하고 다음 사이클을 입력합니다. 현재 위치는 검색 데이터의 위치이며 사이클은 중지됩니다. 🎜🎜#

참고:

요소는 배열 요소 간의 크기 관계를 기반으로 찾기 때문에 배열은 다음과 같아야 합니다.

ordered 배열, 오름차순(소형에서 대형으로) 및 내림차순(대형에서 소형으로) 코드도 달라집니다. 이 문서에서는 오름차순을 예로 들어 설명합니다.

public class Dichotomy {
	
	public static void main(String[] args) {
        int [] array = {1,2,3,4,5};
        int target = 2;//即array[1]
        
        int low = 0;
	int high = array.length - 1;
	while (low <= high) {
	    int middle = (low + high) / 2;
	    if (target > array[middle]) {
	    low = middle + 1;
	    } else if (target < array[middle]) {
		    high = middle - 1;
	    } else {
		    System.out.println(middle);
		    break;
	    }
	}
    }
}
실행 결과는 다음과 같습니다.

순서가 지정되지 않은 배열인 경우 바이너리를 사용하세요. 요소를 찾는 방법 먼저 배열을 정렬하십시오. 예를 들어, 오름차순(작은 것부터 큰 것까지)으로 정렬하려면 버블 정렬을 사용합니다.

다음은 특정 코드입니다:

public class Dichotomy {
	
	public static void main(String[] args) {
        int [] array = {3,2,5,1,4};
        //排序
        int temp = 0;
		for (int time = 1; time < array.length; time++) {
			for (int i = 0; i < array.length-time; i++) {
				if (array[i+1]<array[i]) {
					temp = array[i+1];
					array[i+1] = array[i];
					array[i] = temp;
				}
			}
		}
		for (int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
		}

        //二分法查找
        int target = 2;//即array[1]
        int low = 0;
        int high = array.length - 1;
		
        while (low <= high) {
	        int middle = (low + high) / 2;
	        if (target > array[middle]) {
	        low = middle + 1;
	        } else if (target < array[middle]) {
		        high = middle - 1;
	        } else {
		        System.out.println(middle);
		        break;
	        }
        }
    }
}

다음은 실행 결과입니다:

#🎜🎜 ##🎜🎜 #관련 권장 사항:

Java 알고리즘의 이진 검색 및 절반 검색의 자세한 예

#🎜🎜 #java 이진 검색 트리를 구현하는 샘플 코드

위 내용은 Java 검색 예: 요소(코드)를 찾는 바이너리 메서드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.