묻고답하기
Graph class에서 함수 구현하기 질문입니다
2011.06.02 13:35
안녕하십니까.. 고수님들 도움부탁 드립니다..
c/c++ 언어에 대해 아직 개념도 파악 못하고 있습니다..
열공을 하고자 하는데. 한숨만 나오네요....많은 도움 부탁 드릴께요.. ㅠㅠ
제발 플리즈~
--문제--
아래에 첨부한 source code를 확인해 보면 Graph class에서 구현이 안된 함수가 다음과 같이 4개 있습니다.
void dfs (int i)
void bfs (int i)
void floyd (int val[][NO_NODE])
void topo_sort ()
이 4개의 함수를 구현해야 되는데요.. 잘 모르겠습니다. ㅠㅜ
제발 고수님들의 도움에 손길을 제게 부탁 드려요~
--소스--
#include <stdio.h>
#defineNO_NODE6// graph 안에 포함된 node의 개수
#defineINF999999// distance의 무한대 값, 즉 이 값을 갖는 link는 끊어진 link임
class cGraph// adjacent matrix로 구현한 digraph
{
public:
intdist[NO_NODE][NO_NODE];// dist[i][j]는 node i에서 node j로의 link의 distance를 의미
intvisited[NO_NODE];// 처리 결과를 저장할 array
voidset_dist (int val[][NO_NODE])// 2차원 array *val[]의 element val[i][j]를 dist[i][j]에 copy
{
for (int i = 0; i < NO_NODE; i++)
for (int j = 0; j < NO_NODE; j++)
dist[i][j] = val[i][j];
}
voidprint_dist (FILE *fp)
{
fprintf(fp,"[Dist]\n");
for (int i = 0; i < NO_NODE; i++)
{
for (int j = 0; j < NO_NODE; j++)
fprintf(fp,"\t%d",dist[i][j]);
fprintf(fp,"\n");
}
fprintf(fp,"\n");
}
voidprint_val (FILE *fp, int val[][NO_NODE])
{
fprintf(fp,"[Val]\n");
for (int i = 0; i < NO_NODE; i++)
{
for (int j = 0; j < NO_NODE; j++)
fprintf(fp,"\t%d",val[i][j]);
fprintf(fp,"\n");
}
fprintf(fp,"\n");
}
voidprint_visited (FILE *fp)
{
fprintf(fp,"[Visited]\n");
for (int i = 0; i < NO_NODE; i++)
fprintf(fp,"\t%d",visited[i]);
fprintf(fp,"\n\n");
}
voiddfs (int i)// to be implemented
{// node i로 부터 시작해서 깊이 우선 탐색을 하고, 방문한 node의 번호를 visited array에 차례로 기록
}
voidbfs (int i)// to be implemented
{// node i로 부터 시작해서 넓이 우선 탐색을 하고, 방문한 node의 번호를 visited array에 차례로 기록
}
voidfloyd (int val[][NO_NODE])// to be implemented
{// Floyd의 최단 경로 알고리즘을 적용해서 node i에서 node j로의 최단 경로의 disatnce를 val[i][j]에 기록
}
voidtopo_sort ()// to be implemented
{// topological sorting을 하면서 제거한 node의 번호를 visited array에 차례로 기록
}
};
voidmain ()
{
FILE*fp = fopen("log.txt","w");
cGraphgraph;
// test
intval[NO_NODE][NO_NODE] = {{0, INF, 10, 20, INF, INF},
{INF, 0, INF, 15, 30, INF},
{INF, INF, 0, INF, INF, 5},
{INF, INF, INF, 0, INF, 7},
{INF, INF, INF, INF, 0, 10},
{INF, INF, INF, INF, INF, 0}};
graph.set_dist(val);
graph.print_dist(fp);
graph.dfs(0);
graph.print_visited(fp);
graph.bfs(0);
graph.print_visited(fp);
graph.floyd(val);
graph.print_val(fp,val);
graph.topo_sort();
graph.print_visited(fp);
fclose(fp);
}
메일주소는 omylov2@nate.com
댓글 0
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
김표 | 선배님들, 도움좀,,,,,홈페이지 주소를 그냥 www.edin.cc 로 하고 싶어요. [3] | 2009.04.09 by 김표 |
기슭쌈꾼 | 호스팅사 옴길려고자 ftp로 접속해서... [1] | 2009.04.09 by mydesign |
피아노요리 | 설치 후 관리자 로그인시 안 되는 문제의 해결 사례의 소개 [1] | 2009.04.09 by mydesign |
Lyra | 엔진 업데이트를 하려고 합니다. [1] | 2009.04.09 by mydesign |
이정선 | 왜 최근게시물 추출이 가운데 정렬로 될까요? [2] | 2009.04.09 by mydesign |
소리 | 정식등록절차. [4] | 2009.04.09 by 히카루(아오) |
산묘 | 이슈 트레커 목록 정렬 방법 | |
이상한 모자 | 어느날 갑자기 rss reader 가 | |
옥수수밭 | 너무도 기본적인 Template Handler "->" 질문 T_T | |
boazzang | 게시판이 사라졌어요.ㅠㅠ | |
기슭쌈꾼 | 제로보드4 게시판 스킨을 제로보드xe에 올리면 | |
은터비 | 검은색레이아웃에 회원가입폼, 로그인폼, 권한없슴폼 컬러셋적용 질문, [3] | 2009.04.09 by 박명관 |
달리다굼 | 개발자 여러분께.. [2] | 2009.04.09 by 만쓰별(정만) |
쌍수정 | 동영상을 올리려면???? [1] | 2009.04.09 by 만쓰별(정만) |
moog | 위젯 배경이미지 넣기 | |
김중환 | [재질문] 1.0.6에서 1.1.3으로 업데이트 후 홈으로 들어가지 못합니다. [3] | 2009.04.09 by 김중환 |
김봉후 | 페이지 수정에서 위젯추가하면 저장이 되질 않습니다.. ㅡㅜ | |
앙드레퐝 | 주민등록 번호입력이 왜 사라졌나요?? [2] | 2009.04.09 by thejeon |
포토왕자 | bgm문의( 아무리찾아도 이런부분의 답변은 없더군요...)드립니다. [2] | 2009.04.09 by puma0924 |
exon2 | 다른컴퓨터에서 서버로 접속하는데 이상합니다 |