[알고리즘 특강] BFS, DFS (4/11)

박현아·2024년 4월 17일
0

BFS vs DFS : 문제를 푸는 코드가 정형화 되어 있다

BFS (Breadth First Search) - 너비 우선 탐색
DFS (Depth First Search) - 깊이 우선 탐색

점과 점 사이의 선 : 간선
점 : 노드

BFS : 최단 거리, 미로 찾기
풀 때 큐의 형식이 중요하다
visited 배열 필요 하지만 없이도 가능하다 (더 간단)

DFS : 여러 갈래. 중간에 길이 끊김
스택 활용
ex) 길이 총 몇 개 만들어지냐?
만들어진 길 중 가장 긴 길이가 몇이냐? 등

큐와 스택의 차이점
큐 : 먼저 들어온 값을 먼저 처리한다
스택 : 쌓이는 구조 -> 나중에 들어온 값이 먼저 나간다


DFS 탐색 순서 : 1 2 3 6 7 4 5

팁 - 배열을 만들 때 한 줄 더해서 만들어라
방문한 곳 값을 +1씩 더해서 넣어라

관련 문제
백준 2178 미로탐색
백준 1260 DFS와 BFS

풀어보기!!

Arrays.fill( , );
q.offer(값);
q.poll(값);

파이썬 코드로만 설명을 해주셔서 너무 아쉽다ㅜㅇㅜ
자바 코드도 설명이 필요한데,,,

0개의 댓글