뇌를 자극하는 알고리즘 질의응답 게시판입니다.
2016-12-08
by 송윤기
2064
void TopologicalSort( Vertex* V, Node** List )
{
while ( V != NULL && V->Visited == NotVisited )
{
TS_DFS( V, List );
V = V->Next;
}
}
이부분이
void TopologicalSort( Vertex* V, Node** List )
{
while ( V != NULL )
{
if(V->Visited == NotVisited)
TS_DFS( V, List );
V = V->Next;
}
}
이런식으로 바껴야 되는거 아닌가요?
그래야지 모든 vertex에 대해 리스트를 만들어 줄 수 있지 않습니까?
만약 vertex를 a b c d e f g h 순이 아닌
a c b d e f g h 로 추가 하면 위의 코드는 b랑 e를 리스트에 추가하지 못하고 종료됩니다.