Ниже приведены два способа обойти любой массив:
- При использовании цикла for переменная будет проходить от начала до конца массива.
- Использование переменных цикла while 2 будет проходить в противоположном направлении и встречаться между ними.
Как будет меняться временная сложность, будет ли она уменьшена во втором случае или останется такой же?
O(n/2)
(не принимая во внимание округление доO(n)
, конечно) - person Alex.Kh   schedule 23.08.2020O(1)
, который всегда занимает ровно 1 000 000 лет на современных процессорах, и другой алгоритм для та же проблема, которая выполняется заO(n^2)
времени (но выполняется всего за несколько миллисекунд из-за некоторой оптимизации ЦП, которая делает каждую операцию очень дешевой, но все же требует выполненияn^2
раз), то это не меняет их временную сложность и миллион -year алгоритм по-прежнему менее сложен во времени. - person Dai   schedule 23.08.2020