Вычисления алгоритмической сложности
Сложность по времени:
Почему O(1) а не O(0) - потому что у нас хоть что-то выполняется
O(1) - это самая быстрая сложность. Она означает, что алгоритм выполняется одинаково быстро, независимо от размера входных данных. Например, если вы хотите найти первый элемент в списке, то это всегда займет одно и то же время, независимо от того, сколько элементов в списке.
Она означает, что сложность алгоритма растет пропорционально количеству элементов в входных данных
O(n) - мы понимаем, что наш алгоритм максимально сделает столько шагов сколько у нас элементов
O - это самый худший случай (сколько максимально шагов может сделать наш алгоритм)
n - len(a) в самом худшем случае мы пройдем n шагов, для этого алгоритма
Квадратичная сложность — O(n^2)
В классической реализации речь идёт о двух вложенных циклах, когда внутренний цикл выполняется для каждого элемента внешнего цикла.
Например, если у нас есть массив из 10 элементов, то для обработки этого массива алгоритму потребуется 100 операций (10 * 10).