Log to grow

[C] Recursive Problem 본문

PL/C

[C] Recursive Problem

kkkrrr 2018. 5. 17. 10:59

이번 학기 데이터 구조 수업을 듣고 있다.

중간고사를 굉장히 잘 봤다고 생각했는데 전혀 아니었다.


알고보니 15점 짜리 한 문제를 0점 맞아버렸는데...

완전히 알고 있다고 생각했던 Recursive Problem 문제였다. 

아래의 코드의 Time complexity를 구하는 것이 문제



int f(int n){

    if(n<10){

        printf("O");

        return n+3;

    }else{

        return f(n-1)+f(n-1);

    }



문제를 보자마자 고심에 빠진 것이
"아... 15점 짜리 문제면 분명히 함정이 있을텐데.., f(n-1)+ f(n-1) 부분이 과연 2개의 함수를 호출하는 것인가"
에 대한 고심이었다... 결국 출제자의 의도를 파악하려던 나는 1개의 함수만 호출된다고 생각하고 답을 썼고
답은 2개의 함수가 호출되어 지수 형태의 TIme complexity를 가지는 것이었다.

오늘의 교훈 : 잘 모르면 처음 생각대로 가자


'PL > C' 카테고리의 다른 글

[C] 포인터의 기초, 간단 정리  (0) 2020.09.08
Comments