Участник:Masha
Версия от 11:44, 29 декабря 2020; 93.185.28.157 (обсуждение) (→Алгоритм декодирования кодов Прюфера)
Алгоритм декодирования кодa Прюфера
Пусть есть массив
- код Прюфера какого-то дерева и массив вершин дерева . Для получения дерева по коду Прюфера необходимо выполнять следующие действия, пока массив не станет пустым. В массиве найти вершину с минимальным номером, не содержащуюся в массиве . Добавить ребро { , } в дерево, удалить найденные вершины из соответствующих массивов. В конце работы алгоритма в массиве останется две вершины, составляющих последнее ребро дерева.Реализация
function buildTree(P, V):
while not P.empty():
u = P[0]
v = min(x
V: P.count(x) == 0)
G.push({u, v})
P.erase(0)
V.erase(indexOf(x))
G.push({v[0], v[1]})
return G