Программа 21. c. 119    Кирсанов М.Н. Графы в Maple ,   М.: Физматлит 2007. 

Распаковка кода Прюфера

>    restart: with(networks):

Код Прюфера

>    P:=[2,3,12,8,4,3,2,6,9,5,6,10,14,15]:

>    n:=nops(P)+2:# Число вершин графа

>    N:={$ 1..n}: # Вспомогательное множество

>    i:=1: E:={}: # Пустое множество ребер

>    while i<(n-1) do

>     x1:=N minus convert(P,set);

>     E:=E union {{P[1],x1[1]}}:

>     N:=N minus {x1[1]};# Операция N*

>     P:=P[2..-1];       # Операция P*

>     i:=i+1;

>    end do:

>    E:=E union {N}:

>    new(G):n:=16:

>    r:=seq([seq(1+j+4*i,i=0..3)],j=0..3):

>    addvertex($ 1..n,G):# Вершины

>    addedge(E,G):       # Ветви

>    draw(Linear(r),G);  # Рисунок

[Maple Plot]