blackout   4년 전

전에 발생했던 메모리 초과 오류를 해결했는데,

이제는 시간 초과가 나네요...

왜 이럴까요?(+인접리스트 처음? 써봤습니다)

djm03178   4년 전

지금과 같이 매번 모든 노드를 순회하면서 가장 거리가 가까운 노드를 뽑으려고 하면, n개의 노드를 n번 돌면서 하나씩 뽑아야 하니까 O(n^2)이 됩니다. 이 문제에서 정점의 수가 2만 개이기 때문에 애매하게 돌지 못할 수 있습니다.

우선순위 큐를 사용하는 방법에 대해 알아 보세요.

blackout   4년 전

알고리즘 분류에 다익스트라 알고리즘일고 나와있어서 써봤는데,그러면 다익스트라 알고리즘으로 풀 수 있는 거 아닌가요?

djm03178   4년 전

똑같은 다익스트라 알고리즘도 구현하는 방법이 여러 가지가 있고, 그 중 하나가 우선순위 큐를 쓰는 것입니다. 오히려 지금처럼 모든 노드를 순회하는 것보다도 더 일반적이고 가장 대표적인 다익스트라 구현 방법이라고 할 수 있습니다.

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