1197번 - 최소 스패닝 트리
제딴에는 크루스칼 알고리즘을 이용하기 위해서
priority queue를 이용해서 간선들의 가중치를 오름차순으로 정렬한다음에
어떤 노드 값이 0 이면 아직 간선으로 연결되지 않은 노드라 생각해서
값을 1을 주고
지나온 edge(변수 cnt)를 증가시키는 방향으로 코딩했습니다.
혹시 어디에서 시간이 낭비되고 있는걸까요?
이 코드로는 정상적인 결과를 얻을 수 없습니다.
예를 들어 1-2 를 연결하고 3-4를 연결하면 2-3을 연결하지 않게 됩니다.
참고로 크루스칼 알고리즘은 Union_Find를 사용해야 효율적인 구현이 가능하니 Union_Find를 먼저 공부해 보시거나 프림 알고리즘을 사용하시는 게 나을 것 같습니다.
댓글을 작성하려면 로그인해야 합니다.
idjjm95 2년 전
제딴에는 크루스칼 알고리즘을 이용하기 위해서
priority queue를 이용해서 간선들의 가중치를 오름차순으로 정렬한다음에
어떤 노드 값이 0 이면 아직 간선으로 연결되지 않은 노드라 생각해서
값을 1을 주고
지나온 edge(변수 cnt)를 증가시키는 방향으로 코딩했습니다.
혹시 어디에서 시간이 낭비되고 있는걸까요?