가까운 관계부터 우선적으로 탐색하는 알고리즘
deque 이용해서 풀기
# 함수 생성
def 연결된점찾기(점):
#주어진 점과 연결된 점을 찾아서 return
연결된점들 = 네트워크[점]
for 연결된점 in 연결된점들:
if 연결된점 in 방문한점들:
연결된점들.remove(연결된점)
return 연결된점들
def 점에대해액션하기(점):
#해당 점을 방문한 것 체크
방문한점들.append(점)
# 문제 풀기
queue = deque([1])
while queue: # 큐에 남아있는 점이 있다면
점 = queue.popleft() #큐에서 점 빼기
점에대해액션하기(점)
다음점들 = 연결된점찾기(점)
for 다음점 in 다음점들:
queue.append(다음점) # 큐에 찾아낸 연결된 점들 넣기
⭐️ DFS, BFS 둘 다 탐색 알고리즘 이기 때문에 경로탐색, 네트워크, 조합만들기에서 모두 사용 가능
최단 경로 전염,전이풀이
BFS
바이러스
유기농배추