게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
\공간복잡도에 대해서 알려주실 수 있나요?
게시물ID : programmer_16853짧은주소 복사하기
작성자 : 훗날닭집사장
추천 : 0
조회수 : 505회
댓글수 : 3개
등록시간 : 2016/04/22 03:45:21
옵션
  • 본인삭제금지
자료를 보구있는데..
 
 
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인건가요?
계산하는 방법이 궁금합니다
 
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호