언어 자료구조 알고리즘/디딤돌 알고리즘 (C언어)

[C언어 알고리즘] 6.2.3 그래프 테스트(DFS 알고리즘에 사용할 그래프)

언제나휴일 2016. 12. 1. 15:51
반응형

[C언어 알고리즘] 6.2.3 테스트(DFS 알고리즘에 사용할 그래프)


 이제 작성한 그래프가 잘 동작하는지 테스트 코드를 작성합시다. [그림 6.4]는 앞으로 그래프를 사용하는 알고리즘에서 사용할 그래프의 논리적 모습입니다.

[그림 6.4] 그래프 논리적 도식

[그림 6.4] 그래프 논리적 도식

 

int main()

{

 먼저 그래프를 동적으로 생성합니다.

    Graph *graph = New_Graph();

 정점을 그래프에 추가합시다.

    Graph_AddVertex(graph,"A");

    Graph_AddVertex(graph,"B");

    Graph_AddVertex(graph,"C");

    Graph_AddVertex(graph,"D");

    Graph_AddVertex(graph,"E");

    Graph_AddVertex(graph,"F");

    Graph_AddVertex(graph,"G");

    Graph_AddVertex(graph,"H");

 

 간선을 그래프에 추가합시다.

    Graph_AddEdge(graph,"A","B",5);

    Graph_AddEdge(graph,"A","D",4);

    Graph_AddEdge(graph,"A","E",4);

    Graph_AddEdge(graph,"B","D",4);

    Graph_AddEdge(graph,"B","H",2);

    Graph_AddEdge(graph,"C","D",2);

    Graph_AddEdge(graph,"C","G",3);

    Graph_AddEdge(graph,"D","H",5);

    Graph_AddEdge(graph,"D","E",3);

    Graph_AddEdge(graph,"D","F",3);

    Graph_AddEdge(graph,"E","F",3);

    Graph_AddEdge(graph,"F","G",6);

    Graph_AddEdge(graph,"G","H",3);

 그래프의 정보를 출력합시다.

    Graph_View(graph);

 그래프를 소멸하고 테스트를 종료합니다.

    Delete_Graph(graph);

    return 0;

}

반응형