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

김윤제님의 프로필 이미지
김윤제

작성한 질문수

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

14. 그래프 최단거리(BFS)

BFS 자료구조

작성

·

163

0

BFS 문제를 PriorityQueue가 아닌 LinkedList로 풀던데 이유가 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

BFS(Breadth First Search, 너비 우선 탐색)는 가까운 노드부터 탐색하는 알고리즘입니다. 이때 일반적으로 사용되는 자료구조는 Queue 입니다. PriorityQueue를 사용하면 우선순위에 따라 노드를 탐색하지만, BFS에서는 모든 노드를 일정한 순서대로 방문하는 것이 중요합니다. LinkedList의 경우 FIFO(First In First Out) 구조로 되어 있어 노드를 순차적으로 방문하기에 적합한 구조입니다. 따라서 PriorityQueue 보다는 LinkedList를 사용해서 먼저 들어온 노드부터 탐색하는 것이 BFS의 개념에 부합하게 됩니다.

김윤제님의 프로필 이미지
김윤제

작성한 질문수

질문하기