Обозначение Big O на некоторых примерах

Профессор дал нам несколько примеров, которые можно попробовать дома, но никогда не давал нам ответов, и теперь, когда я готовлюсь к экзаменам, мне бы очень хотелось подробнее остановиться на этом. У нас есть 3 "алгоритма", и мы должны выработать большую цифру для этих алгоритмов.

1-й:

sum <- 0
for i=1 to N do
    for j=1 to i do
        sum = sum + 1

Поскольку циклы for очень похожи на циклы пузырьковой сортировки, я пришел к выводу, что это O (n ^ 2).

2-й пример:

sum <- 0
for i=1 to N do
    for j=1 to i*i do
        for k=1 to j do
            sum = sum + 1

Я оценил это должно быть O (n ^ 5).

3-й пример:

sum <- 0
for i=1 to N do
    for j=1 to i*i do
        if j mod i = 0 then
            for k=1 to j do
                sum = sum + 1

Я думаю, что это будет O(n^4), потому что третий внутренний цикл будет работать только Ni вместо N i * i. Любые комментарии приветствуются. Заранее спасибо.

0 ответов

Другие вопросы по тегам