Алгоритмы на Python

Поиск в ширину BFS в Python

BFS использует очередь и сначала посещает ближайших соседей.

Что такое Поиск в ширину BFS в Python?

BFS использует очередь и сначала посещает ближайших соседей.

Обходите граф уровень за уровнем.

Когда это использовать?

  • Понимать алгоритмы и структуры данных.
  • Наблюдать каждый шаг и проверять граничные случаи.
  • Сравнивать время работы и память.

Визуализация: Поиск в ширину BFS в Python

O(V+E)

Нажимайте Запуск или Шаг, чтобы следить за сравнениями и перемещением данных.

Пример кода

Запустить код →
main.py
from collections import deque

graph = {"A": ["B", "C"], "B": ["D"], "C": ["E"], "D": [], "E": []}
queue = deque(["A"])
visited = {"A"}
order = []

while queue:
    node = queue.popleft()
    order.append(node)
    for neighbor in graph[node]:
        if neighbor not in visited:
            visited.add(neighbor)
            queue.append(neighbor)

print(order)

Ожидаемый результат

['A', 'B', 'C', 'D', 'E']

Как это работает

visited предотвращает повторы: время O(V+E), память O(V).

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Практические задания

Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.

  1. Проверьте пустой ввод, один элемент и дубликаты.
  2. Выводите состояние после каждого шага.
  3. Сравните производительность с другим решением.
Запустить в Python IDE →