Graphs - AndrewMZ6/python_cheat_sheet GitHub Wiki
Creating adjacency matrix for a given graph
graph = { 'A':['B', 'C'],
'B':['C', 'D'],
'C':['D'],
'D':['C'],
'E':['F'],
'F':['C']
}
adj_matrix = [[0 for i in range(len(graph))] for j in range(len(graph))]
keys = list(graph.keys())
for i in range(len(graph)):
for j in graph[keys[i]]:
if j:
k = keys.index(j)
adj_matrix[i][k] = 1
for i in range(len(keys)):
adj_matrix[i].insert(0, keys[i])
keys.insert(0, '')
adj_matrix.insert(0, keys)
for i in adj_matrix:
print(i)
# output
['', 'A''B''C''D''E''F']
['A', 0, 1, 1, 0, 0, 0]
['B', 0, 0, 1, 1, 0, 0]
['C', 0, 0, 0, 1, 0, 0]
['D', 0, 0, 1, 0, 0, 0]
['E', 0, 0, 0, 0, 0, 1]
['F', 0, 0, 1, 0, 0, 0]