mju6229   5년 전

사정상 라이브러리를 사용할 수 없어 구조체배열을 이용하여 bfs를 구현하여 문제를 풀었습니다.

나름 최적화를 했다고 생각하는데 어느부분에서 시간을 많이 사용하는 지 알 수 없어 질문드립니다 ㅠㅠ

어떤 부분을 고치면 시간 안에 문제를 해결할 수 있을까요??

djm03178   5년 전

데이터를 num 쪽에 넣고 num 쪽에서 빼고 있는 것으로 보아 BFS가 아니라 DFS처럼 구현하신 것 같습니다. BFS가 되려면 밑바닥을 가리키는 변수가 하나 더 필요하고, 큐에서 제거할 때는 밑바닥에서 빼내야 합니다.

DFS처럼 구현했을 시의 문제는 기존에 방문한 점까지 도달하기 위해 처음에 이용한 경로보다 나중에 다른 경로를 통해 갔을 때의 거리가 더 짧을 수 있다는 것이고, 그러면 중복 방문이 발생하게 됩니다.

댓글을 작성하려면 로그인해야 합니다.