DEV//UNIT

Мосты и точки сочленения

Рёбра, чьё удаление рвёт граф: low[w] > tin[v].

время O(V + E)память O(V)уровень: продвинутый
Что происходит сейчас0/0
Нажмите Play, чтобы запустить сценарий
TypeScript — активная строка подсвечена шагом
1function findBridges(edges: Array<[a: string, b: string]>) {
2 const graph = buildAdj(edges)
3 const tin = new Map<string, number>()
4 const low = new Map<string, number>()
5 const bridges: Array<[string, string]> = []
6 let timer = 0
7
8 function dfs(v: string, parent: string | null): void {
9 tin.set(v, low.set(v, ++timer).get(v)!)
10 for (const w of graph.get(v) ?? []) {
11 if (w === parent) continue
12 if (tin.has(w)) {
13 low.set(v, Math.min(low.get(v)!, tin.get(w)!)) // обратное ребро
14 } else {
15 dfs(w, v)
16 low.set(v, Math.min(low.get(v)!, low.get(w)!))
17 if (low.get(w)! > tin.get(v)!) {
18 bridges.push([v, w]) // мост: не вернуться выше v
19 }
20 }
21 }
22 }
23
24 dfs(start, null)
25 return bridges
26}

Проблема

Рёбра, чьё удаление рвёт граф: low[w] > tin[v].

Что вы видите

tin/low как у Тарьяна; мост — если из поддерева не вернуться выше.

Как это работает

Один DFS находит все мосты и точки сочленения. Карта уязвимости сети: single points of failure.

Пошаговый разбор

  1. 01

    tin

    Время входа.

  2. 02

    low

    Насколько высоко вернуться.

  3. 03

    Мост

    low[w] > tin[v].

Complexity и ограничения

time
O(V + E)
space
O(V)

Сложность см. в шапке страницы.

Edge cases

  • Пустой вход

    Корректная тривиальная обработка.

  • Вырожденный случай

    Минимум работы — сразу ответ.

Где встречается в реальности

Сети

Single points of failure.

Микросервисы

Критические связи.

Транспорт

Мосты буквально.

Связанные алгоритмы

Shorts

«Какое ребро рвёт сеть»

Тот же сценарий StepSequence в вертикальной композиции — с safe zones и записью WebM ниже на странице.

Shorts 9:16

Вертикальная композиция строится той же последовательностью шагов, что и страница: safe zones отмечены пунктиром (там живёт UI платформ), биты сценария подсвечиваются по прогрессу. Кнопка записи сохраняет WebM — детерминированная StepSequence даёт воспроизводимый ролик без монтажа.

Какое ребро рвёт сеть
Нажмите Play
Бит 1/6 · 0–2 с
Hook
script-setup.ru/algorithms/bridges