Добавил:
north memphis Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КиТГр Экзамен Билеты Расписанные 2025.pdf
Скачиваний:
15
Добавлен:
29.01.2025
Размер:
3.64 Mб
Скачать

a.​ Если вершина не помечена, начать DFS-обход от этой вершины. b.​ Во время обхода пометить все достижимые вершины.

c.​ Добавить множество помеченных вершин как новую компоненту связности в список.

Пример

Начали с вершины 1, сделали обход в глубину и нашли все вершины которые находятся в этой

компоненте связности.

Переходим к поиску следующей компоненте, но тут видно что это 5-6.

Итого : {1,2,3,4} и {5,6}

31. Реберная -связность для неориентированного графа – определение. Алгоритм

выделения мостов в неориентированном графе

Определение (реберная k-связность)

Реберная k-связность подразумевает граф, который сохраняет свою связность после удаления не более чем ребер

Определение (мост)

Мостом называется ребро, при удалении которого связный неориентированный граф становится несвязным

Алгоритм (выделение мостов в неорграфе)

●​ Запускаем поиск в глубину от произвольной вершины

●​ Нумеруем вершину при первом проходе. Проходя по ребру впервые, присваиваем ему

ориентацию по ходу (могут остаться незадействованные ребра)

●​ От каждой вершины пишем суммарный размер ее поддерева (отсчет от 1)

Пока есть “крайние” вершины:

●​ Находим минимальное количество вершин до “крайней” вершины (не обращая внимания на ориентацию)

●​ Находим суммарное количество вершин , через которые можно дойти до “крайней” вершины

После цикла:

●​ Поднимаемся по дереву на один шаг от “крайней” вершины, сравнивая значения и ( выбирается минимальный, а выбирается максимальный).

●​ При этом если от одной вершины отходит несколько ребер, то подъем начинается заново, но уже от “крайней” вершины другого поддерева, также сравнивая полученные значения и

Итог:

Ребро, между которым находятся вершины с разным являются мостом.

Пример

Дан граф:

Проходимся по графу и нумеруем вершины, добавляем ориентацию, считаем длину поддерева для каждой точки:

Найдем значения и для вершины “6”:

При подъеме уперлись в разветвление “4”. Найдем значения и для вершины “10” и поднимемся до вершины “4”:

: