알고리즘

recursion - 순차탐색, 이진트리탐색

멋진 개구리 2020. 6. 9. 18:08
반응형

명시적 설계

1) 순차 탐색

int search (int [] data, int begin, int end, int target){
	if(begin > end){
    	return -1;
   	}else if(target == data[begin]){
    	return begin;
    }else{
    	return search(data, begin+1, end, target);
    }
}

2) 이진트리 탐색

public static int binarySearch(String[] items, String target, int begin, int end){
	if(begin > end)
    	return -1;
    else{
    	int middle = (begin+end)/2;
    	int compResult = target.compareTo(items[middle]);
        if(compResult==0)
        	return middle ;
        else if (compResult < 0 )
        	return binarySearch(items, target, begin, middle-1);
        else
        	return binarySearch(items, target, middle+1, end);
     	}
}        
반응형