더북(TheBook)

5.7 연습 문제

다음 연습 문제는 알고리즘 분석을 실습해 볼 기회다. 해답은 '연습 문제 해답'에 나와 있다.

1. 빅 오 표기법을 사용해 4N + 16단계가 걸리는 알고리즘의 시간 복잡도를 나타내자.

2. 빅 오 표기법을 사용해 2N2단계가 걸리는 알고리즘의 시간 복잡도를 나타내자.

3. 빅 오 표기법을 사용해 다음 함수의 시간 복잡도를 나타내자. 함수는 주어진 배열의 모든 수를 두 배로 만든 후 그 합을 반환한다.

def double_then_sum(array) 
    doubled_array = []

    array.each do |number| 
        doubled_array << number *= 2
    end

    sum = 0

    doubled_array.each do |number| 
        sum += number
    end
    return sum  
end
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.