В области компьютерных наук очень важно, чтобы специалисты по вычислительной технике знали, как рассчитать время работы алгоритмов для оптимизации кода. Для вас, ученых-компьютерщиков, я задаю вопрос.
Я понимаю, что в терминах n цикл с двойным вложением обычно имеет время выполнения n 2 , а цикл с тройным вложением обычно имеет время выполнения n 3 .
Однако для случая, когда код выглядит так, будет ли время выполнения n4?
x = 0;
for(a = 0; a < n; a++)
for(b = 0; b < 2a; b++)
for (c=0; c < b*b; c++)
x++;
Я упростил время выполнения для каждой строки, чтобы она была практически (n + 1) для первого цикла, (2n + 1) для второго цикла и (2n) 2 + 1 для третьего цикла петля. Предполагая, что члены умножены вместе, и мы извлекаем наибольший член, чтобы найти Большое О, будет ли время выполнения n 4 , или оно все равно будет следовать за обычным временем выполнения n 3
Буду признателен за любой вклад. Заранее большое спасибо.