Программа 2 c. 93 Кирсанов М.Н. Графы в Maple
Матрица расстояний
| > | restart: |
| > | with(networks):new(G): |
| > | addvertex({1,2,3,4,5},G):n:=5: |
| > | addedge([{1,2},{2,5},{4,5},{3,5},{4,3}],G): |
| > | Диаметр=diameter(G); |
`Диаметр` = 3
| > | draw(G); |
| > | with(LinearAlgebra): |
| > | A:=adjacency(G); |
| > | A0:=IdentityMatrix(5): |
| > | AllPairs:=Matrix(n,shape=symmetric): |
| > | N:=0: |
| > | for k while N<>n*(n-1)/2 do |
| > | A0:=A0.A: |
| > | for i to n do |
| > | for j to i-1 do |
| > | if AllPairs[i,j]=0 and A0[i,j]<>0 then |
| > | AllPairs[i,j]:= k; N:=N+1:end: |
| > | od: |
| > | od: |
| > | od: |
| > | S:=AllPairs; |
| > | time(); |
| > | t1:=time(): |
| > | S0:=allpairs(G): |
| > | time()-t1; |
0.046
0.
| > | A1:=Matrix(5,5,S0): |
| > | Equal(A1,S); |
true