БСВойтиСохранить прогресс
← Все статьи
Задание 1Теория графов

Вся теория графов для ЕГЭ

Основы теории графов

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

Вершины графа обычно обозначают буквами или числами. Если две вершины соединены ребром, их называют смежными.

Неориентированный граф

В неориентированном графе рёбра не имеют направления. Если вершины A и B соединены ребром, то по нему можно двигаться как из A в B, так и из B в A.

Например, таким графом можно представить сеть двусторонних дорог между городами.

image.png

Ориентированный граф

В ориентированном графе каждое ребро имеет направление, которое обозначается стрелкой. Такое направленное ребро также называют дугой.

Если существует дуга A→B, это означает, что движение разрешено из вершины A в вершину B, но обратное направление не обязательно существует.

Например, таким графом можно представить систему дорог с односторонним движением.

image.png

Смешанный граф

Смешанный граф содержит одновременно ориентированные и неориентированные рёбра. Часть связей в таком графе имеет направление, а часть — нет.

Например, в дорожной сети могут одновременно встречаться односторонние и двусторонние дороги.

image.png

Связный граф

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

Если в графе существуют отдельные группы вершин, между которыми нет пути, такой граф называют несвязным.

image.png

Взвешенный граф

Во взвешенном графе каждому ребру ставится в соответствие некоторое число — вес ребра.

Вес может обозначать, например, длину дороги, время движения, стоимость поездки или пропускную способность канала связи.

image.png

Представление графа в памяти компьютера

Граф удобно изображать рисунком, но при решении задач на компьютере одного рисунка недостаточно. Возникает вопрос: как сохранить граф в памяти компьютера? Для этого граф обычно записывают в виде матрицы — специальной таблицы чисел.

Матрица смежности

Самый простой способ записи графа — матрица смежности.

Если в графе n вершин, то строится квадратная таблица n×n.
Строки и столбцы этой таблицы соответствуют вершинам графа.

В ячейке на пересечении строки i и столбца j записывают:

  • 1, если вершины i и j соединены ребром;

  • 0, если ребра между ними нет.

Таким образом, матрица смежности показывает, какие вершины связаны друг с другом.

Для неориентированного графа матрица смежности обычно симметрична относительно главной диагонали, потому что если вершина i соединена с вершиной j, то и вершина j соединена с вершиной i.

Для ориентированного графа в ячейке (i, j) записывают 1, если существует дуга из вершины i в вершину j. В этом случае матрица уже может быть несимметричной.

На главной диагонали обычно стоят нули, так как вершину обычно не соединяют саму с собой.

image.png

Весовая матрица

Если граф взвешенный, то важно знать не только сам факт связи между вершинами, но и вес ребра: длину, стоимость, время, расстояние и т. д.

Тогда используют весовую матрицу.

Она строится так же: строки и столбцы соответствуют вершинам графа. Но теперь в ячейке (i, j) записывают:

  • вес ребра, если вершины i и j соединены;

  • 0 (или иногда специальное обозначение), если ребра между ними нет.

То есть весовая матрица хранит уже не просто информацию о наличии связи, а её числовую характеристику.

Для неориентированного взвешенного графа весовая матрица тоже обычно симметрична, так как вес ребра между вершинами ii и jj одинаков в обоих направлениях.

image.png

Зачем это нужно

Такое представление графа очень удобно для компьютера. По матрице можно:

  • быстро определить, есть ли ребро между двумя вершинами;

  • узнать вес этого ребра;

  • восстанавливать сам граф;

  • решать задачи на поиск путей, расстояний и связности.

Именно поэтому в информатике графы часто задают не рисунком, а матрицей смежности или весовой матрицей.