Участник:Masha — различия между версиями
Masha (обсуждение | вклад) (Новая страница: «== Алгоритм декодирования кодов Прюфера == Пусть есть массив <tex>P = {p_1, ..., p_{n - 2}}</tex> - код Прю…») |
(нет различий)
|
Версия 03:35, 29 декабря 2020
Алгоритм декодирования кодов Прюфера
Пусть есть массив
- код Прюфера какого-то дерева и массив вершин дерева . Для получения дерева по коду Прюфера необходимо выполнять следующие действия, пока массив не станет пустым. В массиве найти вершину с минимальным номером, не содержащуюся в массиве . Добавить ребро { , } в дерево, удалить найденные вершины из соответствующих массивов. В конце работы алгоритма в массиве останется две вершины, составляющих последнее ребро дерева.Реализация
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))
if P.count(u) == 0:
V.push(u)
G.push({v[0], v[1]})
return G