다익스트라2 알고리즘 - 최단경로, 그래프 알고리즘 최단경로 (다익스트라, 벨만포드, BFS)그래프에서 한 점에서 다른 점으로 가는 가장 빠른 길을 찾는 문제가 최단 경로(Shortest Path)이다. 네비게이션의 길찾기, 라우터의 패킷 전달, 비행기 노선 설계, SNS의 친구 추천, 게임 캐릭터의 이동 AI까지 — 그래프 위에서 동작하는 거의 모든 응용의 토대가 최단 경로 알고리즘이다. 가중치의 유무·음수 가중치 허용 여부·시작점이 하나인지 모두인지에 따라 적합한 알고리즘이 갈리며, 그 선택의 정확성이 시스템의 응답 시간을 직접 결정한다. 본 글은 BFS·다익스트라·벨만-포드·플로이드-워셜 네 가지 핵심 최단 경로 알고리즘의 차이와 사용 조건을 세심하게 정리한다(출처: CLRS — Introduction to Algorithms, 22~25장). 제가.. 2026. 5. 19. 자료구조 - 힙과 우선순위큐 힙 자료구조 (우선순위큐, 정렬, 다익스트라)이진 트리 위에 정렬 규칙을 얹으면 BST가 되고, 그와는 또 다른 규칙(부모가 자식보다 항상 크다 또는 작다)을 얹으면 힙(Heap)이 된다. 힙은 BST와는 완전히 다른 사용 시나리오를 가지는데, 임의 키 검색이 아니라 최댓값 또는 최솟값을 반복적으로 꺼내는 작업에 특화되어 있다. 이 단순한 규칙 하나로 힙은 우선순위 큐의 표준 구현체, 힙 정렬의 핵심 도구, 다익스트라 최단 경로의 가속기 역할을 동시에 수행한다. 본 글은 힙의 정의·연산·시간복잡도부터 우선순위 큐와 실전 응용까지 세심하게 정리한다(출처: 위키백과 — Heap (data structure)). 제가 학교 알고리즘 수업에서 다익스트라 알고리즘을 처음 배우며 가장 충격이었던 게 우선순위 큐 한.. 2026. 5. 16. 이전 1 다음