Теория графов — это одна из ключевых областей математики, которая находит широкое применение в программировании. Графы используются для моделирования и решения задач в самых разных областях: от социальных сетей и маршрутизации данных до машинного обучения и анализа алгоритмов. В этом посте разберем базовые понятия теории графов и их применение в программировании. Граф — это структура, состоящая из вершин (узлов) и ребер (связей между ними). Формально граф можно представить как пару G=(V,E)G=(V,E), где: Ребра могут быть направленными (ориентированными) или ненаправленными (неориентированными). В направленном графе ребро имеет направление (например, из вершины A в вершину B), а в ненаправленном — нет. Графы можно хранить в памяти компьютера разными способами. Вот два самых популярных: 1. Матрица смежности
Двумерный массив, где каждая ячейка A[i][j]A[i][j] указывает на наличие или отсутствие ребра между вершинами ii и jj.
Плюсы: быстрое определение наличия ребра.
Минусы: занимает O(V2)O(V