알고리즘 삽입 값 찾기

알고리즘 삽입 값 찾기
1)삽입 값 찾기 원리 소개:
플러그 인 검색 알고리즘 은 2 분 검색 과 유사 합 니 다.다른 것 은 플러그 인 검색 이 mid 에 적응 할 때마다 2)그 와 2 분 검색 의 가장 큰 차이 점 은 바로 이 mid 의 정의 입 니 다.기본 적 인 연속 적 인 질서 있 는 데이터 에서 플러그 인 검색 이 2 분 검색 보다 우수 합 니 다.int mid = left + (right - left) * (findVal - arr[left]) / (arr[right] - arr[left]);
public class InsertValueSearch {
     
	public static void main(String[] args) {
     
		// TODO Auto-generated method stub
		int arr[] = {
      1, 3, 5, 7, 8, 9, 100, 1234 };
		int insertValueSearch = insertValueSearch(arr, 0, arr.length - 1, 3);
		System.out.println(insertValueSearch);
	}
	//         
	public static int insertValueSearch(int arr[], int left, int right, int findVal) {
     
		//       ,findVal<arr[0] || findVal>arr[arr.length-1]    ,  mid    
		if (left > right || findVal < arr[0] || findVal > arr[arr.length - 1]) {
     
			return -1;
		}
		int mid = left + (right - left) * (findVal - arr[left]) / (arr[right] - arr[left]);
		int midVal = arr[mid];
		if (midVal < findVal) {
     //      
			return insertValueSearch(arr, mid + 1, right, findVal);
		} else if (midVal > findVal) {
     //     
			return insertValueSearch(arr, left, mid - 1, findVal);
		} else {
     //    
			return mid;
		}
	}
}

좋은 웹페이지 즐겨찾기