сказать, что я следующий алгоритм:Расчета тильды-сложности для цикла с кубическим индексом
for(int i = 1; i < N; i *= 3) {
sum++
}
мне нужно вычислить сложность с помощью тильды-обозначением, которое в основном означает, что я должен найти тильду-функцию так что, когда я делю сложность алгоритма на эту тильд-функцию, предел в бесконечности должен быть равен 1.
Я не думаю, что есть необходимость в вычислении точной сложности, мы можем игнорировать константы, а затем у нас есть сложность тильд.
Глядя на росте индекса выходного, я полагаю, что этот алгоритм
~ log N
Но вместо того, чтобы иметь двоичную логарифмическую функцию, база в данном случае 3. ли этот вопрос для точного нотация? Является ли порядок роста точно таким же, и поэтому мы можем игнорировать базу при использовании тильд-нотации? Подхожу ли я к этому правильно?
Очень чистый ответ! Спасибо! – Programmer1994
Нет проблем. Чтобы быть совершенно ясным, вы можете изменить базу на 'b', но не игнорировать ее - у вас будет дополнительный коэффициент' log_b 3' с правой стороны (например, 'S (N) ~ C * ceil (log_b 3 * log_b N) '). – blazs