Какой код более оптимизирован?

// (1)
for (int iter = 1; iter <= VERTEX_SIZE; iter ++) {
if (visit[iter]) continue;
dfs(iter);
}

// (2)
for (int iter = 1; iter <= VERTEX_SIZE; iter ++) {
if (!visit[iter]) {
dfs(iter);
}
}

Какой код более оптимизирован? Мне просто интересно об этом.

-3

Решение

С любым даже полуприличным компилятором это вообще ничего не изменит; сгенерированный машинный код будет именно так тот же самый. Если вы все еще хотите быть уверенным, сравните это.

Перейти на тот, который вы найдете больше всего удобочитаемый.

4

Другие решения

Нет никакой разницы. Выберите тот, который вам нравится больше всего. Каждая программа, которую вы компилируете первым способом, определенно будет работать и со вторым, и время выполнения будет таким же.

Замечания: Я бы использовал второй способ; Я думаю, что он более читабелен, и большинство реализаций DFS, которые я когда-либо видел (в C ++ и в pheudocode), использует его.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector