스텝 탐색한 꼭지점 1 A 2 B, F, G A 3 B, F, H A, G 4 B, F A, G, H 5 B A, G, H, F 6 C, D A, G, H, F, B 7 C, E A, G, H, F, B, D 8 C A, G, H, F, B, D, E 9 kkman@sangji. ac. kr 스택 A, G, H, F, B, D, E, C Chap. 10: Graph -21 -
kkman@sangji. ac. kr Chap. 10: Graph -22 -
스텝 큐 1 A 2 B, F, G A 3 F, G, C, D A, B 4 G, C, D A, B, F 5 C, D, H A, B, F, G 6 D, H A, B, F, G, C 7 H, E A, B, F, G, C, D 8 E A, B, F, G, C, D, H 9 kkman@sangji. ac. kr 탐색한 꼭지점 A, B, F, G, C, D, H, E Chap. 10: Graph -26 -
kkman@sangji. ac. kr Chap. 10: Graph -27 -
BFS 알고리즘 void bfs_mat(Graph. Type *g, int v) { int w; Queue. Type q; init(&q); // 큐 초기화 visited[v] = TRUE; // 정점 v 방문 표시 printf("%d ", v); enqueue(&q, v); // 시작 정점을 큐에 저장 while(!is_empty(&q)){ v = dequeue(&q); // 큐에 정점 추출 for(w=0; w<g->n; w++) // 인접 정점 탐색 if(g->adj_mat[v][w] && !visited[w]){ visited[w] = TRUE; // 방문 표시 printf("%d ", w); enqueue(&q, w); // 방문한 정점을 큐에 저장 } } } kkman@sangji. ac. kr Chap. 10: Graph -28 -