Найти - Пользователи
Полная версия: помогите !
Начало » Центр помощи » помогите !
1
badican
Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности.

Входные данные
На вход программы поступают числа n – количество вершин в графе и m – количество ребер. Затем следует m пар чисел – ребра графа.


Выведите матрицу смежности заданного графа.
входные данные
5 3
1 3
2 3
2 5
выходные данные
0 0 1 0 0
0 0 1 0 1
1 1 0 0 0
0 0 0 0 0
0 1 0 0 0
noob_saibot
import numpy as np
ln = 5
gr = ((1, 3), (2, 3), (2, 5))
mtx = np.zeros([ln, ln])
for i in range(1, ln+1):
    for j in range(1, ln+1):
        if (i, j) in gr:
            mtx[i - 1][j - 1] = 1
            mtx[j - 1][i - 1] = 1
print(mtx)

Поторопился:
import numpy as np
ln = 5
gr = ((1, 3), (2, 3), (2, 5))
mtx = np.zeros([ln, ln])
for i in gr:
        mtx[i[0]-1][i[1]-1] = 1
        mtx[i[1]-1][i[0]-1] = 1
print(mtx)
badican
есть еще какое то решение потому что не совсем понято

noob_saibot
badican
есть еще какое то решение потому что не совсем понято
Создаём нулевую матрицу размером NxN, меняем индексы с 0 на 1 для вершин соединённых рёбрами, все.
Или вас алгоритм не устраивает?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB