Программа 3 c. 94 Кирсанов М.Н. Графы в Maple
Кратчайшие пути между парами вершин
> | restart:with(networks): with(LinearAlgebra): |
> | n:=5: E:={{1,2},{2,4},{2,5},{3,4},{3,5},{5,4}}:#Ребра |
> | V:={$1..n}: G :=graph(V,E):# Граф |
> | draw(Concentric([2,1,5,4,3]),G):#Рисунок |
> | allpairs_=Matrix(n,n,allpairs(G)); |
> | AllPairs:=adjacency(G): |
> | for i to n do |
> | for j to n do |
> | if AllPairs[i,j]=0 then |
> | AllPairs[i,j]:=infinity; fi; |
> | od: |
> | od: |
> | for i to n do AllPairs[i,i]:=0; od: |
> | for m to n do |
> | for i to n do |
> | for j to n do |
> | AllPairs[i,j]:=min(AllPairs[i,j],AllPairs[i,m]+AllPairs[m,j]); |
> | od; |
> | od; |
> | od; |
> | AllPairs_=AllPairs; |