Вообще говоря, когда вы говорите о времени выполнения, вам нужна какая-то «модель затрат», чтобы говорить о том, сколько каждой операции «стоит». На самом деле довольно необычно видеть модель затрат, которая войдет в уровень детализации, в который вы входите, - обычно вы просто абстрагируете детали и говорите, что стоимость выполнения всех этих тестов - O (1) (некоторая константа, которая не зависит от размера ввода), а не рассчитывается с точностью до уровня.
Если вы собираетесь рассчитывать на точный уровень, вы также можете учитывать стоимость поиска в массиве, независимо от того, происходит ли короткое замыкание, эффект предсказания ветвления или неверное предсказание во время выполнения, и т. д., и это частично объясняет, почему так редко бывает, что люди действительно говорят о вещах на этом уровне детализации.
Я согласен: обычно мы просто говорим, что условие равно O (1) за итерацию. В дополнение к тому, что вы указываете, в этом конкретном случае количество проверок второго условия (т.е. «A [i] - A [1] = EVEN') зависит от результата первого условия и позволяет ли язык оценка короткого замыкания. –