Як черга використовується в BFS (пошук у ширину)?
В алгоритмі BFS (Breadth-First Search, пошук у ширину) черга використовується для зберігання вершин, які потрібно відвідати в порядку їх відкриття.
Суть BFS
Алгоритм обходить граф шарами: спочатку всі вершини, що перебувають на відстані 1 від початкової, потім на відстані 2, і так далі.
Роль черги
- Спочатку в чергу поміщається стартова вершина.
- Поки черга не порожня:
- вилучається вершина з початку черги (
dequeue), - усі її невідвідані сусіди додаються в кінець черги (
enqueue).
- Цей процес триває, поки всі досяжні вершини не будуть оброблені.
Чому саме черга
Черга гарантує порядок FIFO: усі вершини одного рівня обробляються раніше, ніж вершини наступного.
Саме тому BFS проходить граф по шарах, на відміну від DFS, який використовує стек і йде в глибину.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.