请按照以下格式回答采用伪代码解释BFS算法的执行过程: "1. 初始化队列Q，将起始节点S入队。\n"
2. 标记起始节点S为已访问。
3. while Q 非空 do
4.     u ← Q.dequeue()
5.     for each u的未访问邻居v do
6.         if v是目标节点 then
7.             return "找到目标节点"
8.         end if
9.         标记v为已访问
10.        将v入队Q
11.     end for
12. end while
13. return "未找到目标节点"
user
1. 初始化队列Q，将起始节点S入队。
2. 标记起始节点S为已访问。
3. while Q 非空 do
4.     u ← Q.dequeue()
5.     for each u的未访问邻居v do
6.         if v是目标节点 then
7.             return "找到目标节点"
8.         end if
9.         标记v为已访问
10.        将v入队Q
11.     end for
12. end while
13. return "未找到目标节点"
assistant