Двонаправлений пошук

Двонапра́влений по́шук — ускладнений алгоритм пошуку ушир або пошуку углиб, в основі якого лежить така ідея, що можна одночасно проводити два пошуки (в прямому напрямку, від початкового стану, та у зворотному напрямку, від цілі), зупиняючись після того, як два процеса пошуку зустрінуться на середині (Рис. 1).

Файл:Bidirectional search.PNG
Рис. 1. Схема двонаправленого пошуку. Тут він має успішно завершитися після того, як одна з гілок, що йде з початкового вузла, зустрінеться з гілкою з цільового вузла