그래프에 대한 기본 폭 우선 검색 탐색의 나의 이해는 다음과 같습니다BFS 탐색
BFS
Start from any node.
Add it to queue.
Add it to visited array.
While queue is not empty:
Remove head from queue;
Print node.
add all unvisited direct subchilds to que;
mark them as visited
그러나, 우리는 주어진에서 감독 그래프를 통과해야하는 경우 주어진 노드에서 (직접 또는 간접적으로) 모든 노드에 액세스 할 수있는 것은 아닙니다.이 상황의 그래프를 탐색하는 데 BFS를 어떻게 사용합니까?
당신은뿐만 아니라이 그래프에 설명 해주십시오 수 :a=> b => d => e => d
a=> c => d
을 여기에서 시작 노드가 b
경우, 우리는 a
및 c
를 인쇄하지 않습니다.
알고리즘에 뭔가 빠졌습니까?
HashMap<String, ArrayList> adj = new HashMap();
을 사용하여 그래프를 저장할 인접 목록을 만들었습니다.
아니요, 누락 된 것이 없습니다. 노드에 도달 할 수 없으면 검색에서 노드를 찾을 수 없습니다. – Ross