поиск, где все в порядке o (log n) бинарный поиск
поиск, где вещи не в порядке O (n) линейный. Не может быть лучше, если все не в порядке.
Идея упорядочения значений по порядку требует O (n * log (n)), если вы не собираетесь делать это снова и снова и кэшировать результат, зачем беспокоиться? просто используйте свой линейный поиск.
(обратите внимание, что вы заинтересованы в поиске значения, а не ключа)