В худшем случае и общее время выполнения кода? - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть следующий фрагмент кода:

enter image description here

И у меня есть следующие вопросы:

enter image description here

Так как я довольно новичок в алгоритмах и времени выполнения, я не знаю, есть ли какие-либо правила, которым я должен следовать, отвечая на этот тип вопроса при анализе наихудшего случая, или это просто основано на интуиции?

Для пример для вопроса C. Я бы сказал, что ответ B = O (N).

1 Ответ

1 голос
/ 27 апреля 2020

Stackoverflow - это не платформа для решения домашних заданий. Чтобы получить достойные ответы на ваши проблемы, вам необходимо предоставить хотя бы некоторые подходы, которые вы пробовали.

Отвечая на ваш вопрос, если есть какие-либо правила:

Да, есть (хотя бы некоторые эмпирические правила). В основном вам нужно попытаться найти все вычисления, которые выполняются относительно вашего ввода.

Типичным примером для O(n); size=n является одиночное значение для l oop:

for (int i = 0; i < size; i++) {
    printf("%d\n", i];
}

Принимая во внимание, что O(n^2) будет представлять, например, алгоритм с двумя вложенными циклами for. Для каждого i вы будете проходить через n, что оставляет вам n*n итераций (где size = n):

for (int i = 0; i < size; i++) {
    for (int j = 0; j < size; j++) {
        printf("%d , %d\n", i, j);
    }
 }
...