Почему временная сложность для операции модуля постоянна? - PullRequest
0 голосов
/ 14 июля 2020

Я работаю над Cracking the Coding Interview , и я не уверен в примере с временной сложностью. Они предоставляют этот код, чтобы определить, является ли число простым:

boolean isPrime(int n) {
    for (int x = 2; x * x <= n; x++) {
        if (n % x == 0) {
            return false;
        }
    }
    return true;
}

Позже они говорят: «Работа внутри для l oop постоянна». Почему время выполнения для оператора модуля постоянное? Почему не зависит от n?

1 Ответ

1 голос
/ 14 июля 2020

Ключевая часть оператора - это внутри the for l oop. Все, что происходит, - это операция по модулю. Внутри самой функции временная сложность зависит от n

...