너비 우선 탐색(BFS) 알고리즘
BFS(Breadth-First Search Algorithm)의 정의
너비 우선 탐색(Breadth-First Search): 재귀와 데이터 구조를 사용하여 트리와 그래프를 탐색하고 탐색하는 알고리즘으로 이 알고리즘은 노드를 두 번 이상 처리하지 않도록 합니다.
BFS의 시간 복잡도와 공간 복잡도
공간 복잡성
오(V)
시간 복잡도
오(V+E)
너비 우선 검색 애플리케이션
너비 우선 검색 접근 방식
len(queue) > 0일 때:
파이썬에서 너비 우선 검색 구현
more details...
파이썬에 익숙하지 않다면 이것을 확인하는 것이 좋습니다
# CODE FROM https://favtutor.com/blogs/breadth-first-search-python
graph = {
'5' : ['3','7'],
'3' : ['2', '4'],
'7' : ['8'],
'2' : [],
'4' : ['8'],
'8' : []
}
visitedNodes = []
queue = []
def bfs(visitedList: list, graph: dict, node):
visitedList.append(node)
queue.append(node)
while queue:
m = queue.pop(0)
print (m, end = "\t")
for adjacent in graph[m]:
if adjacent not in visitedList:
visitedList.append(adjacent)
queue.append(adjacent)
bfs(visitedNodes, graph, '5') # 5 3 7 2 4 8
참조 및 유용한 리소스
좋은 하루 되세요!!
Reference
이 문제에 관하여(너비 우선 탐색(BFS) 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ayabouchiha/breadth-first-search-bfs-algorithm-1m5c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)