DEV//UNIT

Алгоритм Прима

MST растёт из вершины: всегда самое дешёвое ребро из дерева наружу.

время O(E log V)память O(V)уровень: начальный
Что происходит сейчас0/0
Нажмите Play, чтобы запустить сценарий
TypeScript — активная строка подсвечена шагом
1function prim(edges: Edge[], start: string): Edge[] {
2 const inTree = new Set<string>([start])
3 const mst: Edge[] = []
4
5 while (inTree.size < vertices(edges).length) {
6 // самое дешёвое ребро из дерева наружу
7 let best: Edge | null = null
8 for (const e of edges) {
9 const out = inTree.has(e.from) !== inTree.has(e.to)
10 if (out && (best === null || e.weight < best.weight)) best = e
11 }
12 inTree.add(best!.from)
13 inTree.add(best!.to)
14 mst.push(best!)
15 }
16
17 return mst
18}

Проблема

MST растёт из вершины: всегда самое дешёвое ребро из дерева наружу.

Что вы видите

Дерево-снежный ком: каждый шаг добавляет самую дешёвую связь с внешним миром.

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

Дополняет Краскала: тот собирает лес рёбер, Прим растёт одно дерево. Итог один и тот же — вес MST единственный.

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

  1. 01

    Из дерева наружу

    Кандидаты — граничные рёбра.

  2. 02

    Минимум

    Самое дешёвое забираем.

  3. 03

    Рост

    Пока не покрыты все вершины.

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

time
O(E log V)
space
O(V)

См. complexity в шапке страницы.

Edge cases

  • Пустой вход

    Корректно завершается без лишних шагов.

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

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

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

Продукт

Классический приём в реальных системах.

Собеседования

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

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

Shorts

«Дерево-снежный ком: MST по Приму»

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

Shorts 9:16

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

Дерево-снежный ком: MST по Приму
Нажмите Play
Бит 1/6 · 0–2 с
Hook
script-setup.ru/algorithms/prim