Skip to content

문제 5 · 인접 행렬이 나타내는 그래프

문제 5 [4점]

아래는 어떤 그래프graph의 인접 행렬adjacency matrix이다. 아래 행렬이 나타내는 그래프를 그리고(2점), 인접 행렬 방식의 특징을 서술(2점)하시오.

[70442135160]
풀이 및 해설

행렬 읽기

정점을 v1,v2,v3,v4 라 하고, (i,j) 성분을 vivj 간선의 가중치로 본다. 간선이 없음을 뜻한다. 대각 성분이 유한한 곳(v1:7, v3:5)은 자기 루프self-loop 이다.

행별로 나가는 간선을 정리하면:

출발도착 : 가중치
v1v1:7(루프), v2:0, v3:4
v2v1:4, v3:2, v4:1
v3v2:3, v3:5(루프), v4:1
v4v2:6, v3:0

행렬이 비대칭이므로 이 그래프는 방향 가중치 그래프이며, 가중치는 음수(−4)와 0도 포함한다.

text
   (7)⟲                         ⟲(5)
     v1 ──0──▶ v2 ◀──3── v3
     │  ◀─(-4)─ │  ──2──▶ │
     └───4────▶ │         │
               v2 ──1──▶ v4 ◀──1── v3

                          │0
               v2 ◀──6─── v4

정리하면 간선은 v1v1(7), v1v2(0), v1v3(4), v2v1(4), v2v3(2), v2v4(1), v3v2(3), v3v3(5), v3v4(1), v4v2(6), v4v3(0) 이다.

인접 행렬 방식의 특징

  • 공간: 간선 수와 무관하게 항상 O(V2). 정점 수가 크고 간선이 적은 희소 그래프에는 낭비가 크다. 반대로 밀집·완전 그래프에는 효율적이다.
  • 간선 조회: vivj 존재 여부와 가중치를 O(1) 에 확인. 가중치·음수·자기 루프를 성분 값으로 자연스럽게 표현할 수 있다.
  • 이웃 순회: 한 정점의 모든 이웃을 찾으려면 그 행 전체(V개)를 훑어야 하므로 O(V).
  • 방향성: 무향 그래프면 행렬이 대칭, 유향이면 비대칭이다.
인접 행렬공간 O(V2), 간선 조회 O(1), 밀집 그래프에 유리

👉 실습(C++)에서 확인하기

PDF