Задать вопрос
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)
  • Вопрос задан
  • 825 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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