Логарифм
Определение
Логарифм — это математическая операция, обратная возведению в степень. Логарифм отвечает на вопрос: в какую степень нужно возвести одно число (основание), чтобы получить другое число.
Общая формула
Где:
- — основание логарифма (должно быть > 0 и ≠ 1)
- — число, логарифм которого ищем (должно быть > 0)
- — искомый показатель степени
Основные виды логарифмов
Двоичный логарифм
- Обозначение:
- Основание: 2
- Применение: информатика, теория алгоритмов
Пример:
Десятичный логарифм
- Обозначение: или
- Основание: 10
- Применение: инженерные расчеты
Пример:
Натуральный логарифм
- Обозначение:
- Основание: (число Эйлера)
- Применение: математика, машинное обучение
Пример:
Примеры вычисления
Простые примеры
- → потому что
- → потому что
- → потому что
- → потому что
- → потому что
Важные свойства
| Свойство | Формула | Пример |
|---|---|---|
| Логарифм единицы | ||
| Логарифм основания | ||
| Логарифм произведения | ||
| Логарифм частного | ||
| Логарифм степени |
Применение в программировании
Сложность алгоритмов
Двоичный логарифм показывает, сколько раз нужно делить число пополам, чтобы получить 1:
- → массив из 1000 элементов можно разделить пополам ~10 раз
- → массив из миллиона элементов — ~20 раз
Примеры сложностей
| Сложность | Описание | Пример алгоритма |
|---|---|---|
| Логарифмическая | Бинарный поиск | |
| Линейно-логарифмическая | Быстрая сортировка, сортировка слиянием | |
| Квадратичная | Пузырьковая сортировка |
Практический пример
// Бинарный поиск имеет сложность O(log n)
function binarySearch(arr, target) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
if (arr[mid] === target) return mid;
if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
// Для массива из 1000 элементов потребуется максимум log₂(1000) ≈ 10 итераций