К примеру, имеется граф в алгебраической форме: (1,2),(1,3),(2,3). Я написал небольшой код для нахождения матрицы инцидентности для этого графа. Теперь мне бы хотелось представить из матрицы инцидентности реберный граф, то есть врешины становятся ребрами, а ребры становятся вершинами. Как бы это реализовать?
Вот мой код, который показывает матрицу инцидентности:
if __name__ == '__main__':
count_reber = int(input('Введите кол-во ребер: '))
count_vershin = int(input('Введите кол-во вершин: '))
list_reber = []
for i in range(count_reber):
rebro = str(input(f'Введите ребро {i+1}, пример 0,0: ')).split(',')
list_reber.append([int(rebro[0]),int(rebro[1])])
for i in range(count_reber):
print(f'({list_reber[i][0]},{list_reber[i][1]})')
matrix = [[0] * count_vershin for i in range(count_reber)]
for i in range(count_reber):
for j in range(count_vershin):
# print(type(list_reber[i][0]),type(list_reber[i][1]),type(j))
if list_reber[i][0] == j+1 or list_reber[i][1] == j+1:
matrix[i][j] = 1
else:
matrix[i][j] = 0
print(matrix)
for i in range(count_reber):
for j in range(count_vershin):
print(matrix[i][j], end=' ')
print()
Ввожу так: