DFS(u, adj)
{
	u.visited = true;
    
    for each v : adj[u]
   	{	
    	if (v.visited == false)
        	DFS(v, adj);
    }
    
}DFS(u, adj)
{
	if (u.visited) return;
	u.visited = true;
    
    for each v : adj[u]
   	{	
        DFS(v, adj);
    }
    
}BFS(G, u)
{
	u.visited = 1; // 중요
    q.push(u);
    
    while(q.size())
    {
    	u = q.front;
        for each v : adj[u]
        {
			if (v.visited == false)
            {
            	v.visited = u.visited + 1; // 최단거리
            	q.push(v);
            }
        }
    }
    
	
}시간 복잡도 : 동일
💡[TIP]
탐색한다 -> DFS
최단거리 -> BFS
소중한 정보 감사드립니다!