Что это?

Нотация Big O — это, по сути, способ для людей определить эффективность алгоритма. Это краткий ответ. На самом деле, для определения большого О требуется много математических вычислений, в которых большинство из нас заблудится, поэтому я постараюсь объяснить это как можно проще.

Существуют разные степени большого O, каждая из которых представляет, как будет работать алгоритм. Вот несколько примеров большой нотации O.

O(1): для каждого входа, независимо от того, насколько он велик, алгоритм будет работать за одинаковое количество времени.

O(N): для каждого ввода количество времени, необходимое для выполнения, является относительным. Таким образом, чем выше вход, тем больше времени требуется для выполнения, линейно.

O (N²): для каждого ввода время, необходимое для завершения, экспоненциально выше. Это не идеальная ситуация, так как она не очень эффективна.

O (log N): время, необходимое для выполнения задач, экспоненциально короче, чем O (N). Это самая идеальная большая буква O, поскольку здесь она является самой эффективной нотацией. На самом деле он работает лучше, когда вводится больше данных.

Определение большой нотации простого уравнения в основном заключается в том, чтобы выяснить, где будут большие скачки в выходе. Например, если бы у вас было x+1, это было бы O(N), так как +1 на самом деле не имеет значения, когда вы получаете более высокие числа для значения x. С другой стороны, если бы у вас было x³+x, результат будет экспоненциально выше с каждым вводом. Одинокий x не имеет значения по сравнению с x³ здесь. Это будет O(N³). Это намного проще, когда вы смотрите на уравнения с показателями, но совсем по-другому, когда вам нужно попытаться найти большой O в алгоритме.

Это очень простой обзор того, что такое большая нотация O. Разработан, чтобы стать ледоколом и дать общее представление о предмете, достаточное для того, чтобы вы захотели узнать больше или убежали с криком.