+ All Categories
Home > Documents > 9 그래프 -...

9 그래프 -...

Date post: 13-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
29
이산수학 9. 그래프 1
Transcript
Page 1: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

9장. 그래프

1

Page 2: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

출처

본 강좌 자료는 이산수학 (2학년 / 3학점/ 3시간 / 이론) 수업에서

사용한 교재 [이산수학 (수학으로 이해하는 디지털 논리), 한빛

아카데미 출판사] 의 내용 등을 출처로 작성하였음을 알리는 바입니다.

2

Page 3: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

학습 목표

■그래프의 개념 이해

■그래프의 표현 방법 이해

■그래프의 알고리즘 이해

3

Page 4: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

학습 내용

■그래프의 개념

■그래프의 종류

■그래프의 표현: 인접행렬, 인접리스트

■그래프의 응용: 최단경로 알고리즘, DFS, BFS 알고리즘

4

Page 5: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 응용분야

■Facebook

■Google map, Tmap 대중교통

■Web site

■Network design

■Text mining

5

Page 6: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 용어(1)

■ 그래프(Graph)

◻ 정점들(vertex)의 집합 V와 서로 다른 정점의 쌍 (𝑣𝑖 , 𝑣𝑗)을

연결하는 간선(edge)의 집합 E로 구성

◻ 𝐺 = 𝑉, 𝐸 , 𝑉 = *𝑣1, 𝑣2, … , 𝑣𝑛+, 𝐸⊆V × V = (𝑣𝑖 , 𝑣𝑗)|𝑣𝑖 , 𝑣𝑗 ∈ V+

■ 인접(adjacent)과 근접(incident)

◻그래프 𝐺 = 𝑉, 𝐸 에서 정점 𝑢, 𝑣를 연결한 간선 𝑒이 있을 때,

정점 𝑢, 𝑣 는 서로 인접하고, 간선 𝑒 는 정점 𝑢, 𝑣 에 근접한다.

■루프(Loop)

◻근접하는 점이 동일한 정점을 갖은 간선

6

Page 7: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 용어(2)

■ 길(Walk)

◻ 시작정점 𝑣1부터 도착종점 𝑣𝑘까지의 정점들과 간선들을 나열

◻ 𝑣1, 𝑒1, 𝑣2, 𝑒2, …, 𝑒𝑘−1, 𝑣𝑘, 𝑒𝑘, 𝑣𝑘+1

◻ 𝑣1 → 𝑣2 → … → 𝑣𝑘−1→ 𝑣𝑘

■ 경로(Path)

◻같은 간선을 두 번 이상 포함하지 않는 길

■ 순환(Cycle)

◻경로의 시작정점과 끝종점이 같은 길

■ 길이(Length)

◻ 순환을 구성하는 간선의 수

7

Page 8: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 그래프를 보고 집합기호를 사용하여 정의하시오.

풀이 𝐺 = 𝑉, 𝐸 , 𝑉 = *𝑣1, 𝑣2, 𝑣3, 𝑣4+, 𝐸 = 𝑒1, 𝑒2, 𝑒3 = *(𝑣1, 𝑣2),(𝑣1, 𝑣3),(𝑣3, 𝑣3)+

8

Page 9: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 그래프를 보고, 정점 𝑎 로부터 정점 𝑏 까지의 경로 중 길이가

가장 짧은 경로는 무엇읶가?

(풀이) 𝑎 − 𝑐 − 𝑑 − 𝑏 길이: 3 , 𝑎 − 𝑐 − 𝑑 − 𝑓 − 𝑏 길이 ∶ 4 , 𝑎 − 𝑒 − 𝑐 − 𝑑 − 𝑏 길이: 4 , 𝑎 − 𝑒 − 𝑐 − 𝑑 − 𝑓 − 𝑏(길이 :5) ∴ 길이가 3읶 경로가 가장 짧으므로, 𝑎 − 𝑐 − 𝑑 − 𝑏

9

Page 10: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 종류

■ 방향 그래프(Directed Graph)

◻간선에 방향이 있는 그래프

𝐺 =< 𝑉, 𝐸 >, 𝑉 = *𝑣1, 𝑣2, … , 𝑣𝑛+

𝐸 = 𝑒1, 𝑒2, … , 𝑒𝑚 = < 𝑣𝑖 , 𝑣𝑗 > 𝑣𝑖 , 𝑣𝑗 ∈ V+

■ 가중치 그래프(Weighted Graph)

◻그래프 𝐺 = (𝑉, 𝐸)의 각 간선에 가중치가 부여

■ 연결 그래프(Connected Graph)

◻ 그래프 𝐺 = (𝑉, 𝐸) 내에 있는 임의의 정점 𝑢, 𝑣 간에 경로가 존재

10

Page 11: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 그래프를 보고 집합기호를 사용하여 정의하시오.

풀이 (1) 𝐺 = 𝑉, 𝐸 , 𝑉 = *𝑣1, 𝑣2, 𝑣3, 𝑣4+, 𝐸 = 𝑒1, 𝑒2, 𝑒3 = *(𝑣1, 𝑣2),(𝑣1, 𝑣3),(𝑣3, 𝑣3)+

(2) 𝐺 =<𝑉, 𝐸>, 𝑉 = 𝑎, 𝑏, 𝑐, 𝑑 , 𝐸 = < 𝑏, 𝑏 >,< 𝑐, 𝑑 >,< 𝑑, 𝑎 >,< 𝑑, 𝑐 > (3) 𝐺 = 𝑉, 𝐸 , 𝑉 = *𝐴, 𝐵, 𝐶, 𝐷+,

𝐸 = 𝑒1, 𝑒2, 𝑒3, 𝑒4 = 𝐴, 𝐴 , 𝐴, 𝐵 , 𝐵, 𝐶 , 𝐵, 𝐷 , 𝐶, 𝐷 +, W 𝐴,𝐴 = 4,

𝑊 𝐴, 𝐵 = 2, 𝑊 𝐵, 𝐶 = 7, 𝑊 𝐷,𝐵 = 9 , 𝑊 𝐶,𝐷 = 5

11

Page 12: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 표현 (인접행렬)

■ 인접행렬(Adjacency Matrix)

◻그래프 𝐺 = (𝑉, 𝐸)에서 𝑉 = 𝑛일때 𝑛 × 𝑛 행렬로 나타내는 방법

■ 그래프 𝐺에 대한 인접행렬 𝐴 = 𝑎𝑖𝑗 의 각 원소

𝑎𝑖𝑗 = 1 (𝑣𝑖 , 𝑣𝑗) ∈ 𝐸

0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

12

Page 13: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 그래프를 보고 인접행렬로 표현하시오.

풀이 𝐺 = 𝑉, 𝐸 , 𝑉 = 𝐴, 𝐵, 𝐶, 𝐷 , 𝐸 = * 𝐴, 𝐵 , 𝐴, 𝐷 , 𝐵, 𝐷 , 𝐷, 𝐷 + ∴ 𝐴 𝐵 𝐶 𝐷

𝐴(𝐺) =

𝐴𝐵𝐶𝐷

0 11 0

0 10 1

0 01 1

0 00 1

13

Page 14: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 읶접행렬을 갖는 그래프를 표기하고 그리시오.

풀이 𝐺1 = 𝑉1, 𝐺1 , 𝑉1= 𝑎, 𝑏, 𝑐, 𝑑 , 𝐸 = * 𝑎, 𝑎 , 𝑎, 𝑐 , 𝑎, 𝑑 , 𝑏, 𝑑 , 𝑐, 𝑐 , (𝑐, 𝑑)+

𝐴 𝐺1 =

𝑎𝑏𝑐𝑑

1 00 0

1 10 1

1 01 1

1 11 0

𝑎 𝑏 𝑐 𝑑

14

Page 15: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 표현 (인접리스트)

■ 인접리스트(Adjacency List)

◻그래프𝐺 = (𝑉, 𝐸)를 구성하는 각 정점에 인접하는 정점들을

연결리스트(Linked List)로 표현한 것

15

Page 16: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 읶접 리스트를 보고 그래프를 그리시오.

풀이

16

Page 17: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프의 인접행렬과 인접리스트의 비교

17

Page 18: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 활용 (최단경로 문제)

■ 최단경로문제

◻두 도시 사이의 최단 경로를 찾는 도시계획

◻초고밀도 집적회로(VLSI)의 설계

◻네이버, 구글 등 여러 검색 엔진의 지도 서비스, 자동차 네비게이션 시스템, 지하철 혹은 버스 노선 앱.

◻ 건물의 위치를 효율적으로 정하기. 군사 공학, 건축 공학, 통신망 설계 이용.

■ 다익스트라(Dijkstra) 알고리즘.

◻ 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과 도착점를 연결하는 경로 중 가장 짧은 경로를 찾는 절차

◻ 짧은 경로 : 물리적인 거리, 시간 거리, 비용 거리 등

◻ 가중치 : 간선 간의 거리나 간선을 이동하는데 걸리는 시간 및 비용

◻기본 원리: 여러 가지의 길이 있을 때 각각의 길을 비교해 거리가 짧은 길 선택

18

Page 19: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 본관에서 국제관으로 가장 빨리 가려면 어떤 길로 가야 할까?

본관

국제관

인수관

도봉관

5

6 10

3

4

답: 본관->인수관->국제관

모든 경우를 따져보는 방법은 길이 복잡할 경우 시간이 많이 걸리게 된다. 효율적으로 최단 경로를 구할 수 있을까? 다익스트라 알고리즘

19

Page 20: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

Dijkstra 알고리즘

■ 입력 데이터 : 방향(무방향) 가중 그래프 𝐺 = 𝑉, 𝐸 와 시작정점 𝑣1.

■ 간선들의 가중치 : 함수 w: E → [0, ∞]로 표현.

■ 경로의 비용은 경로 사이의 모든 간선들의 가중치의 합이 된다.

◻𝐷 𝑣𝑖 : 시작점 𝑣1로부터 각 정점𝑣𝑖 의 최단경로

◻𝐶 𝑣𝑖 , 𝑣𝑖 = 0 : 정점𝑣𝑖 자신의 거리

◻𝐶 𝑣𝑖 , 𝑣𝑗 = ∞ ∶ 정점 𝑣𝑖와 𝑣𝑗간에 경로가 존재하지 않는 경우

◻𝐶 𝑣𝑖 , 𝑣𝑗 = 𝐶𝑣𝑖𝑣𝑗 : 정점𝑣𝑖와 𝑣𝑗 간에 경로가 존재는 경우의 거리

20

Page 21: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

void Dijkstra(){ 𝑺 = 𝒗𝟏 ; 𝑽 = 𝒗𝟐, 𝒗𝟑, … , 𝒗𝒏 ; for (i=2 ; i <= n ; i++){ D[𝒗𝒊]= C[𝒗𝟏, 𝒗𝒊]; } while(V-S ≠ { }){ V-S 에서 D[𝒗𝒎]이 최소이면 𝒗𝒎선택; 𝒗𝒎을 S에 추가; while (𝒗𝒘 ∈V-S ) D[𝒗𝒘]=min(D[𝒗𝑤],D[𝒗𝒎]+C[𝒗𝒎, 𝒗𝑤]); } }

21

출처: https://en.wikipedia.org/wiki/Dijkstra's_algorithm

Page 22: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

Dijkstra 최단경로 표 작성

1. 그래프상의 모든 정점들과 출발점에서 각 정점들까지의 최단 거리를 표로 작성한다. 출발점과 인접한 정점들까지의 최단 거리는 그래프에 표시된 가중치로 적고 그렇지 않은 정점들은 무한대로 표시한다.

2. 최단경로의 새로운 정점을 찾아 방문하고, 그 정점과 인접하면서 방문하지 않은 정점들과의 거리를 계산하여 최단거리를 갱신한다.

3. 그래프의 모든 정점들을 방문할 때까지 2의 과정을 반복한다

단계 탐색 전 방문 집합(S)

와 미방문 집합(V-S) D[정점] …

최단경로

정점선택

탐색 후 방문 집합(S)

와 미방문 집합(V-S)

(1)

(2)

(3)

(4)

22

Page 23: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제 : 그래프의 시작정점 a부터 다른 정점 까지의 최단경로와 비용은?

from to 최단경로 cost

a b a-b 30

a c a-c 10

a d a-b-d 50

a e a-b-d-e 60

23

Page 24: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

단계

탐색 전 방문 집합(S)와 미방문

집합(V-S)

D[b] D[c] D[d] D[e] 최단경로

정점

탐색 후 방문 집합(S)와

미방문 집합(V-S)

(1) 𝑆 = 𝑎 𝑉 − 𝑆= 𝑏, 𝑐, 𝑑, 𝑒

30 10 ∞ 100 𝑐 𝑆 = 𝑎, 𝑐 𝑉 − 𝑆 = 𝑏, 𝑑, 𝑒

(2) 𝑆 = 𝑎, 𝑐

𝑉 − 𝑆 = 𝑏, 𝑑, 𝑒

30(<∞)

60(<∞) 100(<∞)

𝑏 𝑆 = 𝑎, 𝑐, 𝑏

𝑉 − 𝑆 = 𝑑, 𝑒

(3) 𝑆 = 𝑎, 𝑐, 𝑏

𝑉 − 𝑆 = 𝑑, 𝑒

50(=30+20 < 60) 90(=30+60

<100)

𝑑 𝑆 = 𝑎, 𝑐, 𝑏, 𝑑

𝑉 − 𝑆 = 𝑒

(4) 𝑆 = 𝑎, 𝑐, 𝑏, 𝑑

𝑉 − 𝑆 = 𝑒

60(=30+20

+10<90)

𝑒 𝑆 = 𝑎, 𝑐, 𝑏, 𝑑, 𝑒

𝑉 =

24

Page 25: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 활용 (그래프 순회:DFS )

■ 하나의 정점에서 시작하여 그래프에 있는 모든 정점을 한번씩 방문하여

처리하는 연산

■ 깊이우선 탐색(Depth First Search : DFS)

◻ 시작 정점의 한 방향으로 갈 수 있는 경로가 있는 곳까지 깊이 탐색

◻ 더 이상 갈 곳이 없게 되면, 가장 마지막에 만났던 갈림길 간선이 있는

정점으로 되돌아옴

◻ 다른 방향의 간선으로 탐색을 계속 반복하여 결국 모든 정점을 방문

◻ 가장 마지막에 만났던 갈림길 간선의 정점으로 가장 먼저 되돌아가서

다시 깊이 우선 탐색을 반복해야 하므로 후입선출 구조의 스택 사용

25

Page 26: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

스택을 이용한 DFS 알고리즘

1. 시작 정점 v를 결정하여 방문한다.

2. 정점 v에 인접한 정점 중에서

1) 방문하지 않은 정점 w가 있으면,

정점 v를 스택에 push하고 w를

방문한다. 그리고 w를 v로 하여 다시

2를 반복한다.

2) 방문하지 않은 정점이 없으면 ,

탐색의 방향을 바꾸기 위해서 스택을

pop하여 받은 가장 마지막 방문

정점을 v로 하여 다시 2를 수행한다.

3. 스택이 공백이 될 때까지 2를 반복한다.

DFS(v)

for (i←0; i<n; i←i+1) do {

visited[i]←false;

}

stack←createStack(); //방문한 정점

visited[v]←true;

while (not isEmpty(stack)) do {

if (visited[v의 읶접정점 w]=false) then {

push(stack, v);

visited[w]←true;

w 방문;

v←w;

}

else v←pop(stack);

}

end DFS()

26

Page 27: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

그래프 활용 (그래프 순회:BFS )

■ 하나의 정점에서 시작하여 그래프에 있는 모든 정점을 한번씩

방문하여 처리하는 연산

■ 너비우선 탐색(Breadth First Search : BFS)

◻ 시작 정점으로부터 인접한 정점들을 모두 차례로 방문하고 나서,

방문했던 정점을 시작으로 하여 다시 인접한 정점들을 차례로

방문하는 방식

◻ 가까운 정점들을 먼저 방문하고 멀리 있는 정점들은 나중에

방문하는 순회방법

◻ 인접한 정점들에 대해서 차례로 다시 너비 우선 탐색을 반복해야

하므로 선입선출의 구조를 갖는 큐를 사용

27

Page 28: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

큐을 이용한 BFS 알고리즘

1. 시작 정점 v를 결정하여 방문한다.

2. 정점 v에 인접한 정점들 중에서 방문하지

않은 정점을 차례로 방문하면서 큐에

enQueue한다.

3. 방문하지 않은 인접한 정점이 없으면 ,

방문했던 정점에서 인접한 정점들을 다시

차례로 방문하기 위해서 큐에서

deQueue하여 구한 정점에서 2를

반복한다.

4. 큐가 공백이 될 때까지 2~3을 반복한다.

BFS(v)

for (i←0; i<n; i←i+1) do {

visited[i]←false;

}

Q←createQueue();

visited[v]←true;

v 방문;

while (not isEmpty(Q)) do {

while (visited[v의 인접정점 w]=false) do {

visited[w]←true;

w 방문;

enQueue(Q, w);

}

v←deQueue(Q);

}

end BFS()

28

Page 29: 9 그래프 - KOCWcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/9.pdf다익스트라(Dijkstra) 알고리즘. 방향 (또는 무방향) 가중치 그래프에서 주어진 출발점과

이산수학

예제

■ 다음 오른쪽 그래프의 시작정점 C에 대한 너비우선탐색과정을

탐색그래프와 큐의 상태를 작성하시오.

E

C D

A

B

dequeue A D B E enqueue

E

C D

A

B

29


Recommended