Но последовательный поиск не является самым эффективным алгоритмом поиска. Например, человеку нужно найти в русско-английском словаре перевод слова на английский язык. Если он будет искать его с помощью алгоритма последовательного поиска (т.е. просматривая все слова подряд), то он потратит очень много времени. На самом же деле интуитивно человек действует совсем по-другому. Запишем инструкцию для поиска перевода иностранного слова в словаре. При этом будем считать, что словарь не имеет вырезанных сбоку букв русского алфавита, а нумерация страниц может быть и затерта в результате частого использования словаря.
Исполнитель данного алгоритма — человек, имеющий две руки, умеющий читать и сравнивать два слова на предмет, какое из них раньше стоит в словаре.
1. Если в словаре больше одного разворота страниц, то открыть словарь примерно посередине, иначе перейти на шаг 6.
2. Сравнить самое первое слово на развороте с искомым словом.
3. Если искомое слово стоит раньше, чем первое слово на развороте, то заложить рукой открытую страницу, и часть словаря от начала до заложенной страницы считать новым словарем. Перейти к шагу 1.
4. Если искомое слово стоит позже, чем первое слово на развороте, то сравнить последнее слово на развороте с искомым словом.
5. Если искомое слово стоит позже, чем последнее слово на развороте, то заложить рукой открытую страницу, и часть словаря от заложенной страницы до конца считать новым словарем. Перейти к шагу 1.
6. Просмотреть все от первого до последнего слова на развороте. Если искомое слово найдено – то алгоритм окончен успешно, иначе – искомого слова в словаре нет.