<그래프 구현>
MAXV : vertex의 최대 개수
MAXDEGREE : 차수의 최대 값
typedef struct
{
int edges[MAXV+1][MAXDEGREE]; //연결상태
int degree[MAXV+1]; // 각 차수
int nvertices; // vertex의 개수
int nedges; // edge의 개수
}
BFS ( 너비 우선 탐색 qseudo code )
BFS(G, s) // G 그래프 객체 , S 스타트 vertex
for each vertex u ∈ V – {s}
do color[u] ← GRAY
d[u] ← ∞
π[u] ← NIL
color[s] ← BLUE
d[s] ← 0
π[s] ← NIL
ENQUEUE(Q, s)
while (Q ≠ φ)
do u ← DEQUEUE(Q)
for each v ∈ Adj[u]
do if color[v] ← GRAY
then color[v] ← BLUE
d[v] ← d[v] + 1
π[v] ← u
ENQUEUE(Q, v)
color[u] ← GREEN
'Programming > C languages' 카테고리의 다른 글
FILE IO 에서 Text 파일과 Binary 파일의 차이점. (0) | 2009.08.29 |
---|---|
[자료구조] Linked List (데이터 관리 방법) (0) | 2009.08.17 |
FILE 처리 함수 요약 (0) | 2009.08.12 |