Графы

Модуль 1: Python Core
17 уровень , 0 лекция
Открыта
Видео на Vimeo

1.1 Определение графа и его компонентов

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

Пример графа

Основные компоненты графа:

Вершины:

  • Элементы графа, представляющие объекты.
  • Обозначаются как V (множество вершин).
  • Например, V = {A, B, C, D}.

Рёбра:

  • Соединения между вершинами, представляющие отношения или связи.
  • Обозначаются как E (множество рёбер).
  • Например, E = {(A, B), (B, C), (C, D), (A, D)}.
Граф с обозначенными вершинами и рёбрами

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

Степень вершины:

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

Путь в графе:

  • Последовательность рёбер, соединяющих последовательность вершин.
  • Например, путь из A в D: A → B → C → D.

Цикл в графе:

  • Путь, который начинается и заканчивается в одной и той же вершине.
  • Например, цикл: A → B → C → A.

1.2 Виды графов

Графы бывают очень разные, но из них можно выделить интересные подтипы:

Виды графов

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

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

Пример:

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

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

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

Пример:

Граф ссылок на веб-страницах, где узлы — это страницы, а рёбра — ссылки между ними.

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

Рёбра имеют веса (числа), которые могут представлять расстояния, стоимости или другие меры.

Пример:

Граф дорог, где узлы — это города, а рёбра — дороги с их длиной или стоимостью проезда.

4. Смешанный граф:

Содержит как ориентированные, так и неориентированные рёбра.

Пример:

Системы транспортировки, где одни дороги двусторонние, а другие — односторонние.

5. Планарный граф:

Граф, который можно нарисовать на плоскости так, чтобы его рёбра не пересекались.

Пример:

Граф дорог в городе (без тоннелей).

6. Связный граф:

Граф, в котором существует путь между любой парой вершин.

Пример:

Граф, представляющий сеть городов, в которой каждая пара городов соединена дорогой.

7. Ациклический граф:

Граф, не содержащий циклов.

Пример:

Дерево, представляющее структуру файловой системы.

1.3 Примеры применения графов

1. Социальные сети:

  • Узлы представляют людей, а рёбра — дружеские связи между ними.
  • Используется для анализа связей, нахождения сообществ, влияния пользователей и т.д.

2. Интернет и маршрутизация:

  • Узлы представляют роутеры или компьютеры, а рёбра — соединения между ними.
  • Используется для нахождения оптимальных маршрутов передачи данных.

3. Геномика:

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

4. Логистика и транспорт:

  • Узлы представляют города или транспортные узлы, а рёбра — дороги или пути.
  • Используется для оптимизации маршрутов доставки, минимизации затрат и т.д.

5. Компьютерные сети:

  • Узлы представляют устройства или серверы, а рёбра — соединения между ними.
  • Используется для проектирования и управления сетями.

6. Анализ данных и машинное обучение:

  • Графы используются для представления и анализа данных, поиска кластеров, создания рекомендательных систем и так далее.

Комментарии (2)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 64
11 августа 2025
JavaRush, вы же в курсе, что вы к херам собачьим перепутали темы? У вас на уровнях "Рекурсия и сортировки" - рассказывают про деревья и графы А на уровне "Деревья и графы" - рассказывают про рекурсию и сортировки Как у вас это так получилось? Поделитесь веществами 😂
Vlad Tagunkov Уровень 55
3 февраля 2025
в настройках видео (нижний правый угол) - можно поменять скорость на Х2 лекция отлично смотрится. это просто напоминалка - не более.