Сложность равна , а не времени, которое требуется для выполнения «базовых» строк кода, таких как сложение, умножение, деление и т. Д.
Даже если эти выражения имеют разное время выполнения, все ониимеют сложность O (1).
Сложность заключается в том, что происходит, когда изменяется какая-то переменная фигура.Эта переменная фигура может быть много разных вещей.Некоторыми примерами могут быть «количество элементов в массиве», «количество элементов в связанном списке», «размер файла», «размер матрицы».
Например, -если вы пишете код, который должен найти наибольшее значение в массиве целых чисел, время выполнения зависит от количества элементов в массиве.Код должен будет посетить каждый элемент массива, чтобы проверить, больше ли он, чем предыдущие элементы.Следовательно, сложность составляет O (N), где N - количество элементов.Исходя из этого, мы не можем сказать, сколько времени потребуется, чтобы найти самый большой элемент, но мы можем сказать, что для массива из 1000 элементов потребуется в 10 раз больше времени, чем для массива из 100 элементов.
Теперьесли бы вы сделали то же самое со связанным списком (то есть нашли самый большой элемент), сложность снова была бы O (N).Однако это не говорит о том, что связанный список работает так же, как массив.Это только говорит о том, что он масштабируется так же, как и массив.
Упрощенный способ сказать это - если нет задействованных циклов, сложность всегда равна O (1).