시작 노드로 부터 몇 단계나 떨어져 있는 상태인지 쉽게 계산하기 위함인 듯 합니다.
2차원 grid에서 최단거리로 목표지점을 탐색해 나가는 경우를 예로 들어보면,
큐에 현재 위치정보 뿐만 아니라 시작지점부터 몇칸 이동한 상태인지도 나타내는 정보를 포함해야 하는데
메모리를 아끼기 위해 질문하신 코드에서처럼 q.size()를 이용하여 각 단계별로 큐에있는 정보를 분리시켜 준 것처럼 보입니다.
올리주신 코드에서는 단지 탐색하는 부분밖에 없어 차이가 없지만 말씀드린 예시의 상황에 유용할 것 같습니다.
startlink 5년 전
다른 사람의 BFS 코드를 보다보면 제가 작성하는 것과 다른 스타일이 있는데, 이런 스타일은 어디서 배우는 것인가요?
혹시 이런 소스 스타일이 있는 책이나 인터넷 강의나 블로그 등을 찾습니다.
또는 제가 궁금해하는 스타일로 작성하는 이유가 있을까요? size는 제가 보기에는 불필요한 것으로 보입니다.