로그인 회원가입 고객센터
레포트자기소개서방송통신서식공모전취업정보
campusplus
세일즈코너배너
자료등록배너

문제해결기법 위상정렬


카테고리 : 레포트 > 자연과학계열
파일이름 :문제해결기법 위상정렬.hwp
문서분량 : 8 page 등록인 : leewk2547
문서뷰어 : 한글뷰어프로그램 등록/수정일 : 12.04.13 / 12.04.13
구매평가 : 다운로드수 : 0
판매가격 : 1,800

미리보기

같은분야 연관자료
보고서설명
이번 과제는 위상정렬을 이용하여 다음 방향성비순환그래프(DAG)의
연결성분(Connected Component)을 찾는 프로그램을 완성하는 것이었다
본문일부/목차
<전역 변수 부분>

int sorted[10][11] = {0,};
정렬 결과를 저장하는 2차원 배열이다. 문제에서는 연결 성분이 3개이지만 문제를 푸는 컴퓨터의 입장에서는 연결 성분이 몇 개인지 알 수 없다. 그래서 넉넉하게 10개까지 저장할 수 있도록 하였다. 한 성분 당 정점은 10개까지 저장 가능한데 11개의 공간을 준 이유는, 인덱스를 0부터 쓰는 것이 아니라 1부터 쓰기 때문이다.

int cnt_separation;
연결 성분의 개수를 세는 카운터이다. 위에서 설명했듯이, 문제를 푸는 컴퓨터의 입장에서는 연결 성분이 총 몇 개인지 알 수 없으므로 이 카운터를 전역변수로 만들어서 연결 성분이 증가할 때마다 카운터를 증가시켜서 총 개수를 얻는다.



queue zeroin[10];
입력 차수가 0인 정점을 저장하는 배열이다. 연결 성분이 총 몇 개가 될지 알 수 없기 때문에 넉넉하게 10개를 잡았다.

int cnt_v=0;
주어진 그래프가 DAG인지 체크해서 오류 메시지를 출력하는데 필요한 카운터. 원래 책의 코드에서는 변수 j가 하던 일이었는데, 연결 성분이 달라질 때마다 j의 값도 달라지기 때문에 변수 j가 카운터로서의 역할을 할 수 없게 되었다. 그래서 cnt_v 라는 변수를 새롭게 만들었다.

for(i=0 ; i각각의 연결 성분에 대해 위상정렬을 수행한다. 각 연결 성분마다 indegree가 0인 시작 정점이 있고, 각 정점들을 기준으로 인접한 정점들을 정렬해간다.




1. 그래프의 각 정점에서 연결된 다른 정점들을 출력. 연결된 것이 없으면 공백.
2. 총 몇 개의 연결 성분이 존재하는지 출력.
3. 위상 정렬된 결과들을 출력

sorted[i][j]+64
숫자를 문자로 변환 출력하기 위해 64를 더했다.
아스키코드에서 A는 65이기 때문에, 1을 A에 대응시키기 위해 64를 더했다.

연관검색어
위상정렬

구매평가

구매평가 기록이 없습니다
보상규정 및 환불정책
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시
환불(재충전) 해드립니다.  (단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.

저작권안내

보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기

 

ϰڷٷΰ thinkuniv ķ۽÷