Графы и деревья

Основные понятия теории графов: вершины, рёбра, пути, циклы. Ориентированные и неориентированные графы. Деревья как частный случай графов. Взвешенные графы и поиск кратчайшего пути. Использование графов для моделирования систем.

Графы и деревья

1. Понятие графа

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

Обозначения:

ТерминОбозначениеПример
Множество вершинV = {v₁, v₂, ..., vₙ}V = {A, B, C, D}
Множество рёберE = {e₁, e₂, ..., eₘ}E = {(A,B), (B,C), (C,D)}
Количество вершинn =V
Количество рёберm =E

2. Виды графов

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

Рёбра не имеют направления. Связь симметрична: если A соединено с B, то B соединено с A.

    A --- B
    |     |
    C --- D

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

Рёбра имеют направление (дуги). Связь может быть односторонней.

    A → B
    ↓   ↑
    C → D

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

Каждому ребру приписан вес (число). Например, расстояние между городами.

    A ---5--- B
    |         |
    3         4
    |         |
    C ---2--- D

3. Основные характеристики

Степень вершины — количество рёбер, инцидентных вершине. В орграфе различают:

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

Цикл — путь, в котором первая и последняя вершины совпадают.

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

4. Деревья

Дерево — связный граф без циклов. Свойства дерева:

Корень — выделенная вершина, от которой строится иерархия.

Лист — вершина степени 1 (кроме корня).

Уровень вершины — расстояние от корня до вершины (количество рёбер на пути).

        [Корень]
        /   |   \
      [ ]  [ ]  [ ]
      / \       / \
    [ ] [ ]   [ ] [ ]   ← листья

5. Поиск кратчайшего пути (алгоритм Дейкстры)

Для взвешенного графа с неотрицательными весами:

1. Начальной вершине присвоить расстояние 0, остальным — ∞
2. Пока есть непосещённые вершины:
   а) Выбрать непосещённую вершину с минимальным расстоянием
   б) Для каждого соседа: если новое расстояние < текущего, обновить
   в) Пометить вершину как посещённую
3. Расстояния до всех вершин найдены

Пример

Граф дорог: A→B(5), A→C(3), B→D(4), C→D(2), C→E(6), D→E(1)

Кратчайший путь A→E: A→C→D→E (3 + 2 + 1 = 6)

6. Представление графа в памяти

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

Таблица n×n, где элемент [i][j] = 1 (или вес), если есть ребро из i в j.

    A B C D
A   0 5 3 0
B   5 0 0 4
C   3 0 0 2
D   0 4 2 0

Список смежности

Для каждой вершины — список соседей:

A: [B(5), C(3)]
B: [A(5), D(4)]
C: [A(3), D(2)]
D: [B(4), C(2)]

7. Важно!

Примеры вопросов из тренажёра

  1. Q: Из чего состоит граф?

    A: верный ответ — Из вершин и рёбер

    Объяснение: Граф состоит из множества вершин (узлов) и множества рёбер, соединяющих пары вершин.

  2. Q: Чем дерево отличается от графа?

    A: верный ответ — В дереве нет циклов

    Объяснение: Дерево — это связный граф без циклов. Между любыми двумя вершинами существует ровно один путь.

  3. Q: Сколько рёбер в дереве с 10 вершинами?

    A: верный ответ — 9

    Объяснение: В дереве количество рёбер всегда на 1 меньше количества вершин: m = n − 1 = 10 − 1 = 9.

  4. Q: Что такое взвешенный граф?

    A: верный ответ — Граф, каждому ребру которого приписан вес (число)

    Объяснение: Взвешенный граф — граф, где каждому ребру сопоставлено число (вес): расстояние, стоимость, время.

  5. Q: В ориентированном графе из A в B есть дуга. Что это значит?

    A: верный ответ — Связь существует только от A к B, но не обязательно от B к A

    Объяснение: В орграфе дуга имеет направление. A→B означает связь от A к B, обратная связь может отсутствовать.

Пройти тему «Графы и деревья» в приложении