#z52. LCA客观题
LCA客观题
在LCA问题中,“最近公共祖先”的定义是
{{ select(1) }}
- [离根节点最远的共同祖先]
- [离根节点最近的共同祖先]
- [离查询节点最远的共同祖先]
- [离查询节点最近的共同祖先]
朴素算法求解LCA的思路是
{{ select(2) }}
- [直接遍历整棵树]
- [让深节点先爬到同层,再共同爬升]
- [使用哈希表存储祖先路径]
- [利用二叉搜索特性]
倍增法中fa[u][i]的含义是
{{ select(3) }}
- [u的第(2^i)级祖先]
- [u的第(i)级祖先]
- [u的第(i^2)级祖先]
- [u的子节点中深度为(i)的节点]
搭建倍增表的递推公式是
{{ select(4) }}
- [
fa[u][i] = fa[u][i-1]] - [
fa[u][i] = fa[fa[u][i+1]][i+1]] - [
fa[u][i] = fa[fa[u][i-1]][i-1]] - [
fa[u][i] = fa[fa[u][i+1]][i-1]]
以下关于depth数组的说法正确的是
{{ select(5) }}
- [
depth[u]表示u的子节点数量] - [
depth[u]表示u到根节点的边数] - [
depth[u]表示u的层级(辈分)] - [B和C都正确]
在班级小组祖先系统示例代码中,计算深度的语句是
{{ select(6) }}
- [
depth[i] = depth[fa[i]] - 1] - [
depth[i] = depth[fa[i]] + 1] - [
depth[i] = fa[i]] - [
depth[i] = i]
朴素算法的时间复杂度为O(n),倍增法的时间复杂度为O(log n)
{{ select(7) }}
- [正确]
- [错误]
- []
- []
在倍增法中,fa[u][0]表示u的祖父节点
{{ select(8) }}
- [正确]
- [错误]
- []
- []
求解LCA时,必须先将浅节点提升至深节点的深度,再共同爬升
{{ select(9) }}
- [正确]
- [错误]
- []
- []