너비 우선 탐색법 BFS는 Breadth First Search 의 약자로 같은 레벨에 있는 데이터를 먼저 검색하는 방식이다.
위의 이미지 처럼 동일 레벨의 데이터를 먼저 검색하고 난뒤에야 다음 레벨로 넘어 갈 수 있다.
BFS는 주로 배열을 큐 형식으로 사용해서 구현한다.
위의 이미지를 예로들자면,
1번 데이터를 배열에 집어 넣고 1번 데이터를 이용해 2, 3, 4데이터를 차례대로 배열에 집어 넣는다.
그다음으로 먼저 들어온 데이터인 2번 데이터를 이용하여 5번 6번 데이터를 배열에 차례대로 집어 넣는다.
다음, 3번 데이터를 이용하여 7번 데이터를 배열에 집어 넣고 이런식으로 먼저 들어온 데이터를 먼저 사용하면서 배열을 계속 채워 나간다.
이런식으로 배열을 채워 나가다 보면 동일 레벨의 데이터를 먼저 검색할 수 밖에 없다.
위의 이미지 처럼 동일 레벨의 데이터를 먼저 검색하고 난뒤에야 다음 레벨로 넘어 갈 수 있다.
BFS는 주로 배열을 큐 형식으로 사용해서 구현한다.
위의 이미지를 예로들자면,
1번 데이터를 배열에 집어 넣고 1번 데이터를 이용해 2, 3, 4데이터를 차례대로 배열에 집어 넣는다.
그다음으로 먼저 들어온 데이터인 2번 데이터를 이용하여 5번 6번 데이터를 배열에 차례대로 집어 넣는다.
다음, 3번 데이터를 이용하여 7번 데이터를 배열에 집어 넣고 이런식으로 먼저 들어온 데이터를 먼저 사용하면서 배열을 계속 채워 나간다.
이런식으로 배열을 채워 나가다 보면 동일 레벨의 데이터를 먼저 검색할 수 밖에 없다.
댓글
댓글 쓰기