안녕하세요.
질문이 약간 명확하지 않은것 같습니다.
단절된 그래프의 출발지점 -> 연결 요소의 수를 의미하셨던 건가요?
위 질문주신 내용중
1. 모든 간선의 가중치가 양수이고 (-> 음수가 아니고, 라고 이해 하겠습니다)
2. 시작 정점으로부터의 비용을 0 으로 설정하지 않고.
3. if(table[prev.start]!=INF) 부분을 없애면,
그 어떤 완화 시도도 실패할 것입니다.
즉 table[here] + dist < table[there] 의 조건을 만족하는 경우가 존재하지 않기 떄문에, table[] 는 마지막에 모두 INF 값으로 남게 됩니다.
dladydwo123 2년 전
벨만 포드 알고리즘은 table[start] = 0으로 설정하고
table[prev.start] != INF가 아닐 때 비용정보를 갱신하는 것으로 알고 있습니다.
하지만 만약에,
전제조건에 "간선의 가중치는 모두 양수이고"
1. table[start] = 0; //출발지점 명시
2. if(table[prev.start]!=INF) // 출발지점과 연결된 간선만 업데이트
라는 2가지 명령을 없애면,
N-1번의 간선 업데이트를 통해서 최종적으로 결정된
table배열에 table[idx] == INF가 갖는 의미는,
단절된 그래프들의 출발지점으로 볼 수 있는지 여부에 대해서 질문 드리고 싶습니다.