Files
2nd/10_Wiki/Topics/AI/Dijkstra's Algorithm.md
T

1.7 KiB


id: P-Reinforce-AI-DIJKSTRA category: "10_Wiki/💡 Topics/Programming & Language" confidence_score: 0.99 tags: [Dijkstra, Algorithm, Pathfinding, Graph Theory] last_reinforced: 2026-04-20

Dijkstra's-Algorithm (데이크스트라 알고리즘)

📌 한 줄 통찰 (The Karpathy Summary)

"욕심쟁이(Greedy)의 가장 똑똑한 길 찾기." 출발점에서 다른 모든 지점까지의 최단 거리를 가장 효율적으로 확정해 나가는 알고리즘의 고전이자 정석이다.

📖 구조화된 지식 (Synthesized Content)

  • Shortest Path Tree:
    • 방문하지 않은 지점 중 거리가 가장 짧은 지점을 먼저 방문함으로써, 한 번 확정된 거리는 다시 계산할 필요가 없게 만든다.
  • Priority Queue Usage:
    • 우선순위 큐(힙)를 사용하여 다음에 방문할 지점을 빠르게 찾아냄으로써 시간 복잡도를 극적으로 최적화한다.
  • Application:
    • 구글 지도, 게임 길찾기, 네트워크 라우팅(OSPF) 등 연결된 네트워크가 있는 모든 곳에 쓰인다.

⚠️ 모순 및 업데이트 (RL Update)

  • 데이크스트라는 음수 가중치(음수의 거리 등)가 있는 환경에서는 작동하지 않는다(이땐 벨만-포드 필요). 또한, 거대한 맵에서는 탐색 범위가 너무 넓어지므로, 목표 지점 방향으로 먼저 탐색하는 지능을 더한 A* (A-Star) 알고리즘이 실무에서 더 선호된다.

🔗 지식 연결 (Graph)