Big-O - это просто сравнение сложности программ, которое показывает, насколько быстро они растут при увеличении входных данных, а не точное время, затрачиваемое на выполнение действия.
Итак, чтобы сделатьэто просто, в основном используются несколько известных уравнений, и другая база для log фактически не используется в нотациях big-O, и все они просто эквивалентны длинному n.
![Big-O Complexity Chart](https://i.stack.imgur.com/dZNX9.png)
Что касается вашего комментария, я хотел бы прояснить его:
O, Omega и Theta используются одинаково, но каждый из них имеет различное значение:
- big-O используется для отображения верхней границы роста
- Омега используется для отображения нижней границы роста
- Тета - это точная сложность
ИМХО, в любом из уравнений биг-О вам лучше не использовать более сложные уравнения (вы можете просто придерживаться приведенных выше на графике). Однако вы все равно можете использовать другие более точные уравнения (например, 3 ^ n, n^ 3, ...) но это может бытьиногда вводит в заблуждение!Так что лучше сохранить его как можно более простым.
Относительно log100 (n) также похоже, может быть, вам не нужно точно упоминать это, и использования log (n) будет достаточно?
Я хотел бы еще раз подчеркнуть, что здесь мы не хотим получить точную формулу для нашего алгоритма.Мы только хотим показать, как он растет, когда входы растут, и сравнить в этом смысле с другими алгоритмами.В противном случае вам лучше использовать другие методы, такие как бенчмаркинг.