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