Временная сложность if
постоянна, то есть O (1). Такова сложность двух if
.
Если функции - O (N), сложность в целом составляет O (N).
Время Сложность не показатель эффективности, а масштабируемости. Он не говорит, сколько ресурсов (циклов процессора, памяти и т. Д.) Требуется алгоритму, но сколько больше он захватит, если вы удвоите размер ввода.
Пожалуйста, сначала оберните вокруг себя голову; Временная сложность обсуждает другие вопросы, чем стоимость отдельных операций. Не путайте это.
Что касается фактической разницы в производительности:
Вариант 2 вызовет function3()
два раза, поэтому сравнение зависит от этого.
Если функции имеют какое-либо значение обработка, разница между двумя вариантами будет незначительной, в ней будут преобладать колебания функций.
Как правило, выполнение тривиальных операций (например, if
) не может обсуждаться без контекста.
Для условных переходов главный вопрос: насколько они предсказуемы?
то есть, большую часть времени они используют одну и ту же ветвь? Два хорошо предсказуемых условных перехода намного лучше, чем один плохо предсказанный.