Это все равно будет O(log N)
, но для уменьшенного набора данных (представьте меньшее значение для N).
Поскольку таблица поиска содержит ок.1/34, что близко к 1/32 или 5 шагам в бинарном поиске, возможно, вы захотите провести сравнительный анализ, если это действительно помогает: дополнительные пути кода с большим количеством ошибок в кеше и одно или другое неправильное предсказание / конвейер ветвленияочистка может сделать это медленнее, чем прямой двоичный поиск.
Кроме того, если время поиска для таблицы в памяти является узким местом, вы можете рассмотреть возможность представления своих латов в виде значений Int32
- достаточно точных,но гораздо быстрее искать.