자료를 보구있는데..
float abc(float a, float b, float c)
{
return a+b+b*c + (a+b-c) / (a+b) + 4.00;
}
이것은 변수 3개 (a,b,c)를 위한 공간이며 고정공간 요구만을 가지므로 공간복잡도는 0(???)
float sum(float list[], int n)
{
float tsum = 0;
int i;
for (i=0; i<n; i++)
tsum += list[i];
return tsum;
}
이것은 소요공간 = 배열주소값 4바이트
매개변수 n, 지역변수 tsum, i의 공간 (4*3 = 12바이트)
가변공간이 없으므로 4*3 = 총 16바이트 라는데
가변공간이란게 무엇인가요?
또 배열주소값 4바이트는 계산을 해주지 않나요?
float rsum(float list[], int n)
{
if(n)
return rsum(list, n-1) + list[n-1];
return 0;
}
이것은 배열주소를 위한 변수 4바이트
매개변수 n = 4바이트
반환주소공간 = 4바이트
호출시마다 3*4=12바이트 소요. n번 호출시 12*n 소요...
좀 풀어서 설명을 듣고싶은데 이렇게만 되어있으니 이해가 잘 되지를 않습니다.
맨 위에껀 배열같은 요소가 없어서 0인건가요?
계산하는 방법이 궁금합니다