다음은 xn을 구하는 알고리즘이다. 이 알고리즘의 시간 복잡도는? (단, n > 0이며, even(m)은 m이 짝수일 때 참을 반환하고 그렇지 않을 때 거짓을 반환하는 함수이다)
int PowersRec(int x, int n)
{
int Pow;
if (n == 1)
Pow = x;
else {
if (even(n))
Pow = PowersRec(x*x, n/2);
else
Pow = x * PowersRec(x*x, (n-1)/2);
}
return (Pow);
}- ①(1)
- ②(log n)
- ③(n)
- ④(n log n)
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)