inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Do it! 알고리즘 코딩테스트 with Python

벨만-포드 (Bellman-Ford)

다익스트라와 벨만-포드 차이에서

323

2885_

작성한 질문수 1

0

안녕하세요.

다익스트라는 에지의 가중치가 양수일때 출발노드에서 전체 각 노드까지의 최단거리,

벨만-포드는 특정 출발노드에서 다른 노드까지의 최단 경로 탐색, 음수 가중치가 있어도 수행 가능

이렇게 되어있는데, 벨만-포드에서 에지 사용 횟수를 강조하는 이유가 다익스트라는 출발 노드가 정해져있고, 벨만-포드는주어진 출발노드가 달라질수 있어서라고 생각하면 될까요..?

처음엔 가중치 양수, 음수만의 차이만 인줄 알았는데, 뭔가 강조하시는걸 보니 저런 이유때문인가하고 질문해봅니다..!

다들 화이팅

python 코딩-테스트 알고리즘 다익스트라 벨만-포드

답변 2

0

2885_

아닙니다!! 문제 풀어보면서 이해했습니다. 답변 감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 2885_님.

다익스트라 알고리즘과 벨만-포드 알고리즘의 차이와 에지 사용 횟수에 대한 궁금증을 갖고 계시는 것 같습니다.

다익스트라 알고리즘은 각 에지의 가중치가 양수일 때 사용하는 알고리즘으로 출발 노드에서 다른 모든 노드까지의 최단 경로를 찾는 데 효과적입니다. 다익스트라는 또한 그리디 알고리즘으로, 각 노드에 대해 가장 가까운 노드를 우선적으로 탐색해 시간 복잡도가 낮으며, 특정 상황에서 최적의 결과를 보장합니다.

반면, 벨만-포드는 음수 가중치가 있는 경우에도 적합한 알고리즘으로, 출발 노드에서 다른 모든 노드까지의 최단 경로를 찾을 수 있습니다. 벨만-포드에서는 각 에지에 대해 반복적으로 업데이트를 수행하여 최적의 경로를 탐색하는데, 이는 노드 수에 비례하는 에지 사용 횟수로 구현됩니다. 이러한 반복적인 업데이트가 가능한 이유는 주어진 경로에서 한 에지를 중복해서 사용할 수 있다는 점을 감안하기 때문입니다. 특히, 벨만-포드는 음수 사이클을 검출할 때 에지 사용 횟수의 중요성이 두드러집니다.

관련 논의가 진행된 게시물 몇 가지를 참조해보시길 추천드립니다:
- 백준 2178 미로탐색 질문 입니다.
- 백준 2251 C++ 질문 있습니다.

위 답변이 도움이 되었기를 바랍니다. 이해가 되지 않거나 추가적으로 궁금하신 부분이 있으시면 주저하지 말고 더 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

시계열 데이터 날짜와 시간 format

0

9

1

자동화 프로그램 프로젝트

0

11

1

리뷰를 가장 많이 작성한 회원들 조회

0

9

1

도커 컨테이너 생성 과정 오류 질문입니다.

0

22

1

평가지표 F1 스코어 질문드립니다.

0

13

2

강의 일정

0

24

2

replit에서 developer frameworks가 안보여요

0

14

2

Notion 권한 승인 요청 드립니다.

0

16

1

가상환경 설정시 문의

0

21

2

개발환경에 대해셔 설명부탁드립니다.

0

18

1

파트9 강의는 언제 오픈하시나요

0

21

2

20년 4,5회 13번

0

18

1

연결리스트 삽입삭제 O(1) 아닌가요?

0

15

2

작업형 2 기출7회분에서

0

25

2

GROUP BY, HAVING 실습 1번문제

1

19

2

4 - A

0

25

2

11. 데이터를 목록화하는 리스트와 튜플 에서 콘솔 실행시

0

19

1

코딩 테스트 All-in-One(Java)' 강의 노션 교재 권한문의

0

19

1

ZIP 파일

0

21

2

병합정렬이 홀수개의 숫자에 적용될 경우?

0

114

0

나머지 합 구하기 핵심 아이디어 문의

0

225

1

Python sys.stdin.readline() 사용

0

537

1

17298 오큰수 구하기 질문있습니다.

1

690

2

디버깅에 관한 질문

1

648

1