You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
최단 거리 갱신하는 부분은 Heap, PriorityQueue로 구현 -> 그래야 시간적인 면에서 이득
다익스트라 구현 소스 코드
letINF=Int.max
varq=Heap<Int>()vardistance=[Int](repeating: INF, count: graph.count)distance[0]=0
q.push(0)
while let cur = q.pop(){
for dest in 0..<graph[cur].count {
// 갈수없거나 자기자신이면 스킵
if graph[cur][dest]== INF || graph[cur][dest]==0{ continue }letcurViaDest=distance[cur]+ graph[cur][dest]
if curViaDest <distance[dest]{distance[dest]= curViaDest
q.push(dest)}}}
문자열 처리 까다로운 것보다 힘든 것은 Heap을 쌩구현해야한다는 것이다. STL 만들어줘;;;; (근데 이제 코드 다 외워서 없어도 됨)
다익스트라 이해 및 구현 과정 자체는 어렵지 않다. 좀 더 익숙해질필요는 있어보인다.
The text was updated successfully, but these errors were encountered:
다익스트라
기억해야할부분
다익스트라 구현 소스 코드
The text was updated successfully, but these errors were encountered: