python-for-coding-test
python-for-coding-test copied to clipboard
10장 그래프 이론 - 실전문제 4번 커리큘럼 C++코드에 관한 질문
안녕하세요 동빈님! 이번에 발간해주신 좋은 책 덕분에 알고리즘 공부에 흥미를 붙여가며 하고 있습니다.
이번 책 chapter 10의 실전문제 4번 커리큘럼 문제의 C++코드에 대한 질문이 있어 글을 올리게 되었습니다.해당 문제에서 동빈님이 짜신 코드 상 37번 line의
result[graph[now][i]] = max(result[graph[now][i]], result[now] + times[graph[now][i]]);
라는 부분에서 왜 max를 해주셨는지 궁금합니다. 제 개인적인 생각으론 어차피 연결되어 있는 부분이기에 당연히 해당 노드의 시간을 더해주어야 하기 때문에 max를 해줄 필요 없이 그냥
result[graph[now][i]] = result[now] + times[graph[now][i]];
라고 해주면 안될까요?? 제가 아직 알고리즘에 대한 이해도가 부족하여 질문 드립니다. 혹시 max를 써야한다면 써야 되는 이유와 그 예외가 될 수 있는 입력 input값의 예시에 대해서 적어주시면 앞으로 공부하는데 큰 도움이 될 것 같습니다. 좋은 책과 강의에 감사드립니다!!