machine dependent constants - это количество тактов на один цикл алгоритма и тактовая частота процессора.
Предположим, что линейный алгоритм O(n) работает на быстром компьютере и каждый цикл выполняется за 1 наносекунду, то есть общее время будет 1×n. Логарифмический алгоритм O(log n) работает на медленном компьютере и каждый его цикл занимает 100 наносекунд, общее время 100×log(n) Посмотрим, как будет меняться время алгоритма при изменении n.
n | O(n) | O(log n)
1 | 1 | 100
10 | 10 | 200
100 | 100 | 300
1000 | 1000 | 400
То есть, в интервале от 100 до 1000 есть значение n, после которого логарифмический алгоритм работает быстрее даже на более медленном компьютере.
В общем случае значение n можно получить из равенства
a×n = b×log(n)