У меня есть отсортированный массив двойников (на самом деле широт), которые относительно равномерно распределены в диапазоне от -10 до -43. Теперь, если я выполню бинарный поиск по этому списку, я получу O (log N).
Но я могу дополнительно оптимизировать поиск, имея таблицу поиска, в которой у меня есть 34 ключа (от -10 до -43), которые затем могут перейти прямо к начальной точке этого числа.
Например: -23.123424 сначала найдите ключ 23 и узнайте начальный-конечный диапазон всех значений -23. Затем я могу бинарный поиск из середины этого.
Как бы выглядел мой большой-O?