Skip to content

Conversation

@ChanhuiSeok
Copy link
Member

📘 풀이한 문제

⭐ 문제에서 주로 사용한 알고리즘
  • 다익스트라

📜 대략적인 코드 설명
  • 다익스트라 알고리즘을 사용하는데, K번째 최단거리를 찾는 것이므로 K가 2 이상이라면 더 느리게 가는 경로들도 추가적으로 구해야 합니다.
  • 각 노드마다 추가적인 max heap을 선언해 놓고, 그 노드로 가는 경로들이 나올 때마다 heap에 계속 추가합니다. (즉 다익스트라 알고리즘을 구현할 때, 거리값 배열을 갱신하는 부분 없이 가능한 경로를 모두 보고 우선순위 큐에 넣습니다.)
  • heap의 사이즈는 K개를 유지해야 합니다. K개로 가득 찼는데 좀 더 짧은 경로가 찾아졌으면, 가장 큰 값을 빼고 heap에 추가합니다.

@ChanhuiSeok ChanhuiSeok added the problem-solved Indication that this problem is solved label Nov 15, 2020
@ChanhuiSeok ChanhuiSeok merged commit 8be4a0c into CodeTest-StudyGroup:master Nov 15, 2020
@ChanhuiSeok ChanhuiSeok deleted the ch branch November 17, 2020 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

problem-solved Indication that this problem is solved

1 participant