Что такое binary search?

Junior
757 просмотров
AFK Offer AI

Binary search — поиск элемента в отсортированном массиве за O(log n). Идея: сравниваешь искомое со средним элементом, если меньше — ищешь в левой половине, если больше — в правой. Каждый шаг отбрасывает половину данных. В Go есть sort.Search — принимает функцию-предикат и возвращает индекс. Также есть slices.BinarySearch в новых версиях. Работает только на отсортированных данных — если массив не отсортирован, сначала sort.Slice за O(n log n).

Следующий вопрос

Как работает log/slog?