Big-O - это в основном количество времени / пространства (временная сложность / пространственная сложность), в котором работает определенный c алгоритм.
Это зависит от операций алгоритма. Я проиллюстрирую временную сложность.
Например, функция:
## l is a list of size=n
def linear(l):
for i in l:
print(i)
выполняет итерацию по списку size = n, поэтому алгоритму потребуется получить все значения n, пока его выполнение не будет выполнено. цель.
Таким образом, это big-o - это O (n), поскольку оно работает линейно с количеством n.
Функция:
## l is a list of k lists, each of them has size=n
def quadratic(matrix):
for l in matrix:
for i in l:
print(i)
Здесь необходимо выполнить итерацию по k спискам и по n элементам в каждом из них.
Итак, алгоритм работает в O (k * n).