인접 행렬 vs. 인접 리스트
·
Algorithms
코딩테스트 문제를 풀다 보면 그래프 문제를 마주하는데, 이렇게 정점과 간선 정보가 주어졌을 때 어떻게 그래프로 표현할 수 있을까?그래프를 표현하는 방법은 크게 2가지가 있다. 바로 인접 행렬과 인접 리스트다. 🟣 인접 행렬인접 행렬은 (정점 * 정점)을 배열로 두고, 두 정점 사이에 간선이 있으면 1로 표시하는 방식이다.배열이다 보니 탐색이 빠르다는 장점이 있다! 그렇지만 아무래도 메모리 공간을 많이 사용한다는 단점이 있다. 정리하면, 인접 행렬을 사용하는 경우는 다음과 같다.상황이유정점의 수가 작을 때$O(V^2)$ 공간이 감당 가능한 경우, 보통 정점이 1000개 이하일 때 사용한다.간선의 수가 많을 때(dense graph)거의 모든 정점이 연결되면 리스트보다 오히려 효율적이다.간선 유무를 자주..