강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

happyrichman님의 프로필 이미지
happyrichman

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

11. 그래프와 인접행렬

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

작성

·

46

0

안녕하세요! 11. 그래프와 인접행렬 강의를 듣다가 질문이 생겨 글을 남깁니다.

가중치 방향 그래프에서 가중치가 0인 간선이 문제 특성상 의미가 있을 경우 가중치가 0인 간선을 자바로 표현하는 방법이 있을까요? 기존처럼 0으로 표현해 버리면 간선이 없는 경우와 구분하기 어려울 것 같아서요.

검색 해보니 그런 경우에는 double 타입 행렬을 선언하고 간선이 없을 때 Double.POSITIVE_INFINITY 를 쓰는 것 같긴 한데 맞는 방법일까요? 그런 기법이 코딩테스트 풀 때 사용되는지도 궁금합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
happyrichman님이 제기하신 가중치 0인 간선을 구분하는 문제는 그래프 이론에서 흔히 발생할 수 있는 문제입니다.

말씀하신 대로 간선이 없을 때 Double.POSITIVE_INFINITY를 사용하고, 가중치가 0인 간선은 0으로 두는 방법은 유효합니다. 이렇게 하면 간선이 없는 경우와 가중치가 0인 경우를 명확히 구별할 수 있습니다. 이는 특히 다익스트라 알고리즘과 같은 특정 알고리즘에서 유용할 수 있습니다.

코딩테스트에서 이러한 방식이 사용될 수 있습니다. 다만, 설정한 값이 테스트의 의도와 맞는지 항상 고려해야 하며, 문제의 조건이나 제약 사항을 잘 읽어보시는 것이 중요합니다. 상황에 따라 다른 방법이나 자료 구조의 선택이 더 효율적일 수 있습니다.

추가적인 문제에 대해서는 Stack Overflow를 참고하시거나, 관련 자료 구조 및 알고리즘에 대한 문서를 추가적으로 찾아보시면 도움이 될 것입니다.

도움이 되셨길 바랍니다!

happyrichman님의 프로필 이미지
happyrichman

작성한 질문수

질문하기