Программа  20                        Кирсанов М.Н, 
Графы в Maple

 

Код Прюфера

>    restart;with(networks):new(G):n:=16:m:=n-1:

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

>    addedge(Path(1,2,3,4,8,12,11),G):# Ветви

>    addedge(Path(2,6,5,9,13),G):

>    addedge(Path(6,10,14,15,16),G):

>    addedge({3,7},G):

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

>    draw(Linear(r),G);

[Maple Plot]

>    k:=0: # Счетчик элементов кода

>    for i  while k<n-2 do

>            A:=adjacency(G):# Матрица смежности

>             if vdegree(i,G)=1 then

>                 k:=k+1;

>                 for j to n do if A[i,j]=1 then T[k]:=j; fi; od;

>                 delete(incident(i,G),G);i:=0;

>             end if;

>    end do:               

>    PruferCode:=evalm(Vector(k,T));

PruferCode := vector([2, 3, 12, 8, 4, 3, 2, 6, 9, 5, 6, 10, 14, 15])