Відповіді:
Це залежить, де логарифм. Якщо це просто фактор, то це не має значення, оскільки велика-О або дозволяє множити на будь-яку константу.
Якщо взяти то важлива база. У базі 2 у вас було б просто , у базі 10 - приблизно .
Оскільки асимптотичне позначення не обіцяє постійних факторів, а будь-які два логарифми відрізняються постійним коефіцієнтом, основа не має жодної різниці: для всіх . Тому немає необхідності вказувати основу логарифму при використанні асимптотичних позначень.
Як і , тому . Оскількиє позитивною константою (для всіх), так.
У більшості випадків безпечно відкинути основу логарифму, оскільки, як зазначали інші відповіді, формула зміни бази логарифмів означає, що всі логарифми є постійними кратними один одному.
Є деякі випадки, коли це зробити не безпечно. Наприклад, @ gnasher729 вказував, що якщо ви маєте логарифм в експоненті, то логарифмічна основа дійсно значна.
не константа? Розумна техніка - підбирати, в такому випадку час виконання спрощується до . З тих пір = , загальний вираз спрощується до . Зауважте, що в цьому випадку основа логарифму дійсно значна, оскільки вона не є постійною щодо розміру вводу. Є й інші алгоритми, які мають схожі періоди виконання (старий аналіз лісів, що розмежовуються, закінчився терміном somewhere, for example), in which case dropping the log base would interfere with the runtime analysis.
Another case in which the log base matters is one in which there's some externally-tunable parameter to the algorithm that control the logarithmic base. A great example of this is the B-tree, which requires some external parameter . The height of a B-tree of order is , where the base of the logarithm is significant in that is not a constant.
Підводячи підсумок, у випадку, коли у вас логарифм із постійною базою, зазвичай (за винятками, як, наприклад, те, що @ gnasher729 вказав), ви можете скинути основу логарифму. Але коли основа логарифму залежить від якогось параметра для алгоритму, це робити зазвичай не безпечно.