Как написать функцию distance_matrix, которая вычисляет матрицу расстояний графа без использования функций NetworkX в Python? - PullRequest
0 голосов
/ 25 апреля 2019

Мне нужно написать написать матрицу расстояний функции в Python, которая вычисляет матрицу расстояний графа. Я могу использовать функцию NetworkX adjacency_matrix для вычисления матрицы смежности входного графа, но я не могу использовать любые другие функции NetworkX.

Я знаю, что функция должна вычислять матрицу расстояний графа. Требуется матрица, представленная в виде массива типа numpy.ndarray, той же формы, что и матрица смежности графа.

Am = np.eye(48)
A = nx.adjacency_matrix(G).toarray()
A1 = np.eye(48)
def distance_matrix(G):
    for m in range(1,49,1):
        Am=np.linalg.matrix_power(A,m)
        for i in range(48):
            for j in range(48):
                if Am[i,j]>0 and A1[i, j] == 0 :
                    A1[i, j] = m and np.diagonal(B)==0 
        return A1
print(distance_matrix(G))

Я знаю, что диагональ должна быть равна 0, а остальные записи должны быть кратчайшим путем от одного узла к другому. Я думаю ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...