Написать программу, реализующую алгоритм поиска в глубину (DFS) для графа.
Поиск в глубину (DFS) для графаАлгоритм поиска в глубину (DFS) является основным методом обхода или поиска в деревьях или графах.
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(start) # Для демонстрации порядка обхода
for next in graph[start] - visited:
dfs(graph, next, visited)
return visited
# Пример графа в виде словаря
graph = {
'A': set(['B', 'C']),
'B': set(['A', 'D', 'E']),
'C': set(['A', 'F']),
'D': set(['B']),
'E': set(['B', 'F']),
'F': set(['C', 'E'])
}
# Пример вызова функции
dfs_output = dfs(graph, 'A')
Результат выполнения кодаПорядок обхода: A B D E F C Эта функция DFS начинает обход с указанной вершины и рекурсивно посещает соседние вершины. | |
|
| |
| Просмотров: 188 | |
| Всего комментариев: 0 | |