В ряде практических задач требуется связать р пунктов наиболее экономичным способом с линиями связи р пунктов, автомобильными дорогами таким образом, чтобы суммарная длина была наименьшей.
На языке теории графов эта задача формулируется в общем виде следующим образом.
Каждому ребру (ni,nj) полного графа с р вершинами приписывается вес mij, выражающий численно расстояние, стоимость и другую величину, характеризующую любую пару вершин.
Требуется построить экстремальное дерево, связывающее все вершины так, чтобы был минимальным суммарный вес mi ветвей дерева
.
Перебор вариантов при р ³9 больше 106. Существует алгоритм Прима, который основан на последовательном введении выбора ребер с наименьшим весом. Затем на каждом следующем шаге выбирается min по весу ребро и, если оно не образует цикла с ранее выбранными ветвями, вводится в дерево. Построение заканчивается после отбора дерева (р -1) ребер. Если имеются ребра с одинаковым весом, то решение может быть единственным в том случае, когда не все такие ребра входят в дерево, а отдается определенный приоритет отдельным.
Построение экстремального дерева с максимальным суммарным весом аналогично, необходимо лишь последовательно выбирать для него ребра наибольшего веса.