[Python] 최단 경로 알고리즘(2)- 다익스트라 (최소힙,최대힙)
다익스트라 알고리즘: 간단한 구현 방법 성능 분석 총 O(V)번에 걸쳐서 최단 거리가 가장 짧은 노드를 매번 선형 탐색해야 합니다. 따라서 전체 시간 복잡도는 O(V²)입니다. 일반적으로 코딩 테스트의 최단 경로 문제에서 전체 노드의 개수가 5,000개 이하라면 이 코드로 문제를 해결할 수 있습니다. 하지만 노드의 개수가 10,000개 넘어가는 문제라면 어떻게 해야 할까요? 우선순위 큐 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조입니다. 예를 들어 여러 개의 물건 데이터를 자료구조에 넣었다가 가치가 높은 물건 데이터부터 꺼내서 확인해야 하는 경우에 우선순위 큐 이용할 수 있습니다. Python, C++, Java를 포함한 대부분의 프로그래밍 언어에서 표준 라이브러리 형태로 지원합니다. 자료..
Python/이코테
2022. 7. 12. 03:59