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

Алгори́тм При́ма, алгоритм построения минимального остовного дерева во взвешенном связном неориентированном графе. Впервые предложен в 1930 г. В. Ярником и позднее переоткрыт Р. Примом (Prim. 1957. P. 1389–1401).

Алгоритм Прима является жадным. и обозначают множества рёбер и вершин графа , и – число рёбер и вершин в графе соответственно. Алгоритм строит ([1] C. 670) минимальное остовное дерево, добавляя к изначально пустому множеству рёбер по ребру на каждой итерации, пока не получится остовное дерево. При этом на каждой итерации под номером алгоритма образуется дерево . А добавляемое ребро выбирается так, чтобы минимизировать вес дерева . На начальной итерации алгоритма Прима произвольным образом выбирается вершина, которой должно быть инцидентно первое ребро.

При реализации алгоритма с использованием очереди с приоритетами его временна́я сложность составляет (Алгоритмы. 2013. С. 670). Реализация с использованием фибоначчиевых пирамид сокращает сложность алгоритма до (Алгоритмы. 2013. С. 673).

См. также «О большое».

Примечания

  1. Алгоритмы. 2013.

Литература

Источники

  • Prim R. C. Shortest connection networks and some generalizations // Bell System Technical Journal. – 1957. – Vol. 36, № 6. – P. 1389–1401.

Дополнительная литература

  • Jarník V. O jistém problému minimálním (Z dopisu panu O. Borůvkovi) // Práce moravské přírodovědecké společnosti. – 1930. – Vol. 6, № 4. – P. 57–63.
  • Алгоритмы : построение и анализ / Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн ; пер. с англ. И. В. Красикова [и др.]. – 3-е изд. – Москва [и др.] : Вильямс, 2013.
Материалы портала bigenc.ru переданы в ведение АНО «Интернет-энциклопедия «РУВИКИ» на основе лицензионного соглашения. Возможны неточности в отображении материалов. Если у вас возникли вопросы или вы увидели ошибку, пожалуйста, сообщите нам на info@ruwiki.ru