2
мне нужно было всего определится Большой O этого короткого кода:Big O этого короткого кода
var iterations = 0;
function operation(num){
iterations++;
if (num == 0) return 1;
return operation(Math.floor((num/10) * 2));
}
var result = operation(1000);
alert('Result = ' + result + ', number of iterations = ' + iterations);
я придумал что-то около O(log(logN))
, но я не уверен. Не могли бы вы мне немного помочь?
http://jsfiddle.net/qotbu5pq/2/
Пожалуйста, расскажите нам, как вы добрались до 'O (log (log (N))), и мы сможем сообщить вам, где вы поступили неправильно. – Bergi
Существует отличный способ приблизиться к этому: http://stackoverflow.com/questions/3255/big-o-how-do-you-calculate-approximate-it –
Вы почти делите операции на 5, пока не достигнете нуля результат не должен быть '~ log5 (N)' итераций вместо этого, что означает 'O (log (N))' ... – Spektre