第21152题 单选
给定二叉树使用指定BFS代码搜索数值20时的输出是以下哪一项?

<p>阅读以下二叉树的广度优先搜索代码:</p><pre><code>1 #include &lt;iostream&gt;2 #include &lt;queue&gt;34 using namespace std;56 // 二叉树节点的定义7 struct TreeNode {8 int val;9 TreeNode left;10 TreeNode right;11 TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}12 };1314 // 宽度优先搜索(BFS)迭代实现15 TreeNode bfs(TreeNode root, int a) {16 if (root == nullptr) return nullptr;1718 queue&lt;TreeNode&gt; q;19 q.push(root);2021 while (!q.empty()) {22 TreeNode node = q.front();23 q.pop();2425 if (node-&gt;val == a)26 return node;2728 cout &lt;&lt; node-&gt;val &lt;&lt; " "; // 先访问当前节点2930 if (node-&gt;left) q.push(node-&gt;left); // 将左子节点入队31 if (node-&gt;right) q.push(node-&gt;right); // 将右子节点入队32 }33 return nullptr;34 }</code></pre><p>使用以上算法,在以下这棵树搜索数值20时,可能的输出是( )。</p><p><img src="https://img.julecn.com/tk/ouy/fothpoillfetezss.png" alt="二叉树结构"></p>

A

5 2 -4 3 17 9

B

-4 2 3 5 9 17

C

5 2 17 -4 3 9

D

以上都不对

知识点:
提交0次 正确率0.00%
答案解析