%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

그래프 알고리즘 실행 시간 추정기

입력하면 바로 계산됩니다.

입력값

그래프 알고리즘 실행 시간 추정기 쉽게 이해하기 — 개념과 원리

큰 그래프에서 탐색이나 최단 경로 알고리즘을 돌리기 전에, 몇 밀리초 만에 끝날지 몇 달이 걸릴지 미리 아는 것이 중요합니다. 이 추정기는 정점 수 V와 간선 수 E를 넣으면 대표적인 그래프 알고리즘 네 가지의 교과서 시간 복잡도로 연산 횟수를 구하고, 가정한 속도로 나누어 대략적인 실행 시간을 보여 줍니다.

그래프 알고리즘 네 가지의 실행 시간초당 10⁸번이면 BFS/DFS 11ms, 다익스트라 183ms, 벨만–포드 1,000초, 플로이드–워셜 116일입니다.V = 100,000, E = 1,000,000, 초당 10⁸번BFS / DFSV + E = 1.1 × 10⁶11 msDijkstra(V + E) log V ≈ 1.8 × 10⁷183 msBellman–FordV × E = 10¹¹1,000초Floyd–WarshallV³ = 10¹⁵116일같은 그래프인데 눈 깜짝할 새부터 거의 4개월까지
희소 그래프에서 V + E에 비례하는 알고리즘은 밀리초, V³ 알고리즘은 116일이 걸립니다.

계산 방법

원리

너비 우선 탐색과 깊이 우선 탐색은 정점을 한 번씩 방문하고 간선을 상수 번씩 확인하므로 작업량이 그래프 크기에 비례합니다. 다익스트라 알고리즘도 같은 방식으로 훑지만 아직 확정되지 않은 정점을 우선순위 큐에 두므로, 이진 힙에서는 갱신할 때마다 O(log V)가 듭니다. 벨만-포드는 음의 가중치를 다루기 위해 모든 간선을 최대 V − 1번 완화하므로 V · E입니다. 플로이드-워셜은 V에 대한 삼중 반복문으로 모든 정점 쌍의 최단 경로를 구하므로 E와 상관없이 V³입니다. 기본 속도 초당 10⁸회는 메모리 대기가 많은 실제 그래프 코드를 감안한 보수적인 값입니다.

예제 풀이

  1. 입력값: V = 100,000, E = 1,000,000, 초당 10⁸회입니다.
  2. BFS/DFS: 1,100,000 ÷ 10⁸ = 0.011초 = 11 ms입니다.
  3. 다익스트라: log₂ 100,000 ≈ 16.61이므로 약 18,270,000회, 183 ms입니다.
  4. 벨만-포드: 10⁵ × 10⁶ = 10¹¹회이므로 1,000 s입니다.
  5. 플로이드-워셜: 10¹⁵회, 즉 10⁷초를 86,400으로 나누면 약 116일입니다.
초당 연산 횟수 값에 따른 BFS/DFS O(V + E) 변화초당 연산 횟수 값에 따른 BFS/DFS O 변화010203040502.5e+075e+077.5e+071e+081.25e+081.5e+082e+08예제 값: 11 ms초당 연산 횟수
다른 값은 그대로 두고 “초당 연산 횟수”만 바꿔 계산기를 다시 돌린 결과입니다. 금색 점이 예제 값이며, 위에 값을 입력하면 내 값으로 다시 그려집니다.
초당 연산 횟수BFS/DFS O(V + E)
2.5e+0744 ms
5e+0722 ms
7.5e+0714.7 ms
1e+0811 ms
1.25e+088.8 ms
1.5e+087.33 ms
2e+085.5 ms

결과 해석

질의 한 번이라면 1초 미만이면 충분하고, 질의가 수천 번이라면 그만큼 곱해서 판단합니다. 가중치가 음수가 아닌 단일 출발점 최단 경로라면 이 예에서는 다익스트라가 확실한 선택입니다. 벨만-포드는 음의 가중치가 있을 때만 비용을 치를 가치가 있으며, 변화가 없으면 일찍 멈추는 구현은 V − 1회보다 훨씬 빨리 끝나기도 합니다. 플로이드-워셜은 정점이 수천 개 이하일 때만 현실적입니다.

흔한 실수

주의: 자릿수 수준의 추정입니다. 실제 시간은 그래프 구조, 데이터 배치, 구현에 따라 달라지므로 표본 데이터로 먼저 측정해 보십시오.

자주 묻는 질문

피보나치 힙을 쓰면 다익스트라가 더 빠른가요?

이론상 O(E + V log V)이지만, 실제로는 상수가 작은 이진 힙이나 페어링 힙이 더 빠른 경우가 많습니다.

BFS와 DFS는 무엇이 다른가요?

BFS는 가중치 없는 그래프에서 간선 수 기준 최단 경로를 찾고, DFS는 사이클 검출과 위상 정렬에 알맞습니다.

플로이드-워셜은 왜 아직 배우나요?

코드가 짧고 음의 간선도 처리하며, 작고 조밀한 그래프에서는 효율적이기 때문입니다.

출처: E. W. Dijkstra, "A note on two problems in connexion with graphs", Numerische Mathematik 1, 1959 · T. H. Cormen 외, Introduction to Algorithms, MIT Press

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →