icosang   1년 전

다음과 같이 코드를 짤 때, Edge E가 너무 많아 메모리가 모자란다는 것은 알겠으나, 어떤 식으로 대응해야 할 지 감이 안옵니다.

도움 부탁드립니다.

zenith82114   1년 전

간선을 (x, y, z) 벡터로 나타낼 때 간선의 길이가 min(x, y, z)이기 때문에

간선들을 x가 작은 순으로 정렬했을 때 순위가 N등 이하인 간선은

최소신장트리를 만들 때 사용될 가능성이 없어서 제외시킬 수 있습니다.

트리에는 정확히 N-1개 간선만 필요하기 때문입니다.

y로 정렬했을 때, z로 정렬했을 때도 마찬가지이므로

간선 O(N^2)개가 아니라 O(3N)개만 가지고 시작할 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.