asyaevloeva
@asyaevloeva

Как в python реализовать вычисление матрицы расстояний методом возведения матрицы смежности в степень?

Мне нужно реализовать вычисление матрицы расстояний методом возведения матрицы смежности в степень. На вход подается граф, на выход - матрица дистанций (список списков целых чисел). Подскажите как получить матрицу расстояний?
У меня получается найти только матрицу смежности:
import networkx as nx
from networkx import DiGraph

digraph = DiGraph()
for node_val in range(1, 8):
    digraph.add_node(node_val)
    digraph.add_edge(1, 2)
    digraph.add_edge(1, 3)
    digraph.add_edge(1, 4)
    digraph.add_edge(2, 4)
    digraph.add_edge(2, 5)
    digraph.add_edge(3, 6)
    digraph.add_edge(4, 3)
    digraph.add_edge(4, 6)
    digraph.add_edge(4, 7)
    digraph.add_edge(5, 4)
    digraph.add_edge(5, 7)
    digraph.add_edge(7, 6)

adj_matrix_sparse = nx.adjacency_matrix(digraph)
adj_matrix_dense = adj_matrix_sparse.todense()
print(adj_matrix_dense)
  • Вопрос задан
  • 814 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы