Независимо от того, как реализована операция умножения (или деления) (т. Е. Программная функция или аппаратная инструкция), она не будет разрешима во времени O(1)
. для больших n
значений процессор не может даже вычислить его по одной инструкции.
В таких алгоритмах почему эти операции постоянны и не зависят от n
?
for (i = 1; i <= n; i++) {
j = n;
while (j > 1)
j = j / 3; //constant operation
}