2016-09-05 4 views
5
While(n>=1) 
{ 
    n=n/20; 
    n=n/6; 
    n=10×n; 
    n=n-10000; 
} 

Я пытался как этот =>Какова временная сложность заданного кода?

В этом цикле, N получает уменьшается на N/12 - 10000. так, сложность времени вывода (вход N).

+1

Если у вас есть представление о сложности, вы можете рассчитать конкретные значения для некоторого n и сравнить полученный граф с предполагаемой сложностью. Если оба графика похожи, вы можете начать доказывать, почему ваше предположение верно. – MrSmith42

+0

спасибо! я буду держать это в виду – Garrick

+1

Пожалуйста, не публикуйте то, что в основном один и тот же вопрос каждые несколько часов (http://stackoverflow.com/questions/39324836/what-is-the-time-complexity-of-given-code) , Вы можете сначала прочитать более общие вопросы и ответы, например: http://stackoverflow.com/questions/11032015/how-to-find-time-complexity-of-an-algorithm – m69

ответ

6

Это кажется правильным. Если это упражнение, вы должны быть готовы спорить, почему O(log_12(N)) - O(log(N)).

+1

Основы логарифмов несущественны в порядке роста : логарифмы на разные базы отличаются постоянными факторами – Garrick

+1

Да, но можете ли вы доказать это математически? – mort

+0

Я не знаю, где я ошибаюсь, но почему это не 'O (log (N + constant))'? – YiFei