一棵树按无向边存进邻接表:1 号的邻居是 2 号,2 号的邻居是 1 号和 3 号,3 号的邻居是 2 号。从 1 号出发写 dfs(u, fa),函数里遍历所有邻居 v,先 if (v == fa) continue; 跳过,再调用 dfs(v, u)。
这里的参数 fa 起的作用是( )。
- A. 记录结点 的深度,用来求树高
- B. 记住「从哪来」,跳过父结点,防止沿着刚走过的边又走回去、造成无限递归
- C. 判断 是不是叶子结点
- D. 记录 已经被访问过几次,用来数孩子个数