Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 21, 2016 18:22:03

badican
Зарегистрирован: 2016-04-06
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите !

Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности.

Входные данные
На вход программы поступают числа 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

Офлайн

#2 Июнь 22, 2016 08:49:32

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

помогите !

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)

Отредактировано noob_saibot (Июнь 22, 2016 13:14:40)

Офлайн

#3 Июнь 22, 2016 13:20:50

badican
Зарегистрирован: 2016-04-06
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите !

есть еще какое то решение потому что не совсем понято

Офлайн

#4 Июнь 22, 2016 13:30:54

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

помогите !

badican
есть еще какое то решение потому что не совсем понято
Создаём нулевую матрицу размером NxN, меняем индексы с 0 на 1 для вершин соединённых рёбрами, все.
Или вас алгоритм не устраивает?

Отредактировано noob_saibot (Июнь 22, 2016 13:32:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version