Sobes.tech
Back to questions
Middle
3

Что такое граф? Алгоритмы обхода графа?

Companies where asked
Saber Interactive

Answer from AI

sobes.tech AI

Граф — это структура данных, состоящая из множества узлов (вершин) и связей между ними (рёбер). Графы используются для моделирования сетей, маршрутов, зависимостей и других отношений.

Основные алгоритмы обхода графа:

  • Обход в глубину (DFS, Depth-First Search): начинается с выбранной вершины, затем рекурсивно посещает соседние вершины, углубляясь как можно дальше по каждой ветке перед возвратом.

  • Обход в ширину (BFS, Breadth-First Search): начинается с выбранной вершины и посещает все соседние вершины на текущем уровне, затем переходит к следующему уровню.

Пример обхода в глубину на Python:

graph = {
    'A': ['B', 'C'],
    'B': ['D', 'E'],
    'C': ['F'],
    'D': [],
    'E': ['F'],
    'F': []
}

visited = set()

def dfs(node):
    if node not in visited:
        print(node)
        visited.add(node)
        for neighbour in graph[node]:
            dfs(neighbour)

dfs('A')

Этот код выведет вершины в порядке обхода в глубину, начиная с 'A'.