일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Data structure
- db
- DFS
- It
- Dijkstra
- 완전탐색
- java
- Algorithm
- nosql
- 백준
- redis
- 아키텍처
- BFS
- 데이터베이스
- PYTHON
- javascript
- 캐싱
- 영속성 컨텍스트
- 프로그래머스
- 레디스
- OS
- CSS
- CS
- HTML
- 운영체제
- 알고리즘
- jpa
- 플로이드-워셜 알고리즘
- 자료구조
- deque
Archives
- Today
- Total
목록Floyd-Warshall (1)
If at first you don't succeed, try again

* 개요 플로이드-워셜 알고리즘은 '모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구해야 하는 경우'에 사용할 수 있는 알고리즘이다. 플로이드-워셜 알고리즘은 단계마다 '거쳐 가는 노드'를 기준으로 알고리즘을 수행한다. 하지만 매번 방문하지 않은 노드 중에서 최단 거리를 갖는 노드를 찾을 필요가 없다. 노드의 개수가 N개일 때, 알고리즘 상으로 N번의 단계를 수행하며, 단계마다 O(N^2)의 연산을 통해 '현재 노드를 거쳐 가는' 모든 경로를 고려한다. 따라서 폴로이드-워셜 알고리즘의 총 시간 복잡도는 O(N^3)이다. 다익스트라 알고리즘은 출발 노드가 1개이므로 다른 모든 노드까지의 최단 거리를 저장하기 위해서 1차원 리스트를 이용했다. 반면에 플로이드 워셜 알고리즘은 다익스트라 알고리즘과는 다..
Computer Science/알고리즘(Python)
2022. 11. 28. 21:10