728x90

피보나치 수열의 재귀 구현

- 피보나치 수열의 구성 : 수열의 n번째 값 = 수열의 n-1 번째 값 + 수열의 n-2 번째 값

int Fibo(int n)
{
    printf("func call param %d  \n", n);

    if(n==1)
        return 0;
    else if(n==2)
        return 1;
    else
        return Fibo(n-1)+Fibo(n-2);
   }

int main(void)
{
    printf("Fibonacci 7 = %d\n",Fibo(7));
    return 0;
}

 

이진 탐색 알고리즘의 재귀 구현

 

열혈 자료구조 - 1-2. 알고리즘의 성능 분석 방법(3)

이진 탐색 알고리즘의 시간복잡도 - 이진 탐색 알고리즘 : 순차 탐색보다 훨씬 좋은 성능을 보이지만 정렬되어 있어야 한다는 제약이 있음. 정렬의 기준은 상관 없음 - 이진 탐색 알고리즘의 순

1d1cblog.tistory.com

int BSearchRecur(int ar[], int first, int last, int target)
{
	int mid;
	if(first > last)
		return -1;    // -1의 반환은 탐색의 실패를 의미 (탈출 조건)
	mid = (first+last) / 2;    // 탐색대상의 중앙을 찾는다.

	if(ar[mid] == target)
		return mid;    // 검색된 타겟의 인덱스 값 반환
	else if(target < ar[mid])
		return BSearchRecur(ar, first, mid-1, target);
	else
		return BSearchRecur(ar, mid+1, last, target);
}
728x90

+ Recent posts