Ответ
log₂(1 000 000) ≈ 19.93
Как это вычисляется и зачем это нужно в тестировании?
- Вычисление: Используется формула смены основания:
log₂(n) = log₁₀(n) / log₁₀(2).log₁₀(1 000 000) = 6,log₁₀(2) ≈ 0.3010. Итог:6 / 0.3010 ≈ 19.9316. - Практический смысл: Логарифмическая сложность
O(log n)— ключевое понятие в анализе производительности. Если алгоритм имеет такую сложность, то для обработки 1 000 000 элементов ему потребуется около 20 операций (в логарифмическом масштабе).
Пример на Java для проверки:
public class LogExample {
public static void main(String[] args) {
double result = Math.log(1_000_000) / Math.log(2);
System.out.println("log2(1,000,000) = " + result); // Выведет ~19.931568569324174
// Это означает, что 2^19 < 1 000 000 < 2^20
System.out.println("2^19 = " + Math.pow(2, 19)); // 524288
System.out.println("2^20 = " + Math.pow(2, 20)); // 1048576
}
}
В контексте QA: Понимание логарифмов помогает при анализе логов производительности, оценке времени выполнения алгоритмов и проектировании тестов для структур данных вроде бинарных деревьев.