방향그래프(Directed Graph) : 정해진 방향 없이 양방향으로 갈 수 있다
셀프엣지(자기자신을 가리키는 간선)를 갖는 그래프도 있다
무방향그래프(Undirected Graph) : 간선에 방향성이 존재한다
Adjacency Matrix : 이차원배열로 표현
인접하게 연결된 노드들은 1, 그렇지 않은 노드들은 0으로 표현
가중치 그래프일 경우 1 대신 가중치를 배열에 표현한다
Adjacency List : linked list로 표현
배열에 노드들을 나열하고 관계를 linked list로 표현하는 방법
dictionary: 딕셔너리로 표현
방향 그래프 코드 구현
V, E = 5,6
edges = [(1,2), (2,3), (1,4), (2,4),(1,5),(3,5)]
# make Adjacent Matrix
AM = [[0]*(V+1) for i in range(V+1)]
for s,e in edges:
AM[s][e] = 1
# 출력
for x in AM:
print(x)
# make Adjacent List
AL = [[] for i in range(V+1)]
for s,e in edges:
AL[s].append(e)
# 출력
for x in AL:
print(x)