자료구조의 그래프는 마치 거미줄처럼 여러 개의 점들이 선으로 이어져 있는 복잡한 네트워크망과 같은 모습을 갖는다.
인접 행렬
인접 행렬은 언제 사용할까?
두 정점사이에 관계가 있는지 , 없는지 확인하기에 용이하다.
가장 빠른 경로(shortest path)를 찾고자 할 때 사용
인접 리스트
인접 리스트는 각 정점이 어떤 정점과 인접하는지를 리스트의 형태로 표현한 것이다.
각 정점마다 하나의 리스트를 가지고 있으며, 이 리스트는 자신과 인접한 다른 정점을 담고 있다.
위는 인접리스트로 표현한 것을 나타낸 것이다. 이때 우리는 한가지 의문을 갖을 수 있다.
이 그림에서 B는 A와 C로 이어지는 간선이 2개가 있는데, 왜 A가 C보다 먼저일까? 이 순서는 중요한가?
우선 순위를 다뤄야 한다면 더 적합한 자료구조 (queue, heap)를 사용하는 것이 합리적이다.
인접 리스트는 언제 사용할까?