#P3. 并查集客观题(周测)

并查集客观题(周测)

  • desc: 并查集最擅长解决下面哪一类问题? choices:
    • A. 求两点之间的最短路径
    • B. 把元素分成若干集合,能快速合并两个集合、判断两个元素是否在同一集合
    • C. 给数组从小到大排序
    • D. 求一个数的质因数分解
  • desc: 关于 findRoot(查找)函数里的「路径压缩」,下列说法正确的是? choices:
    • A. 路径压缩会让树变得更高
    • B. 路径压缩会改变每个元素属于哪一个集合
    • C. 路径压缩把查找路径上的点直接连到根,让以后的查找更快
    • D. 路径压缩会把两个集合合并成一个
  • desc: 用 fa 数组实现并查集,初始化时应该把每个 fa[i] 设成什么? choices:
    • A. fa[i] = 0
    • B. fa[i] = i(每个元素自己就是一个集合的根)
    • C. fa[i] = i + 1
    • D. fa[i] = n
  • desc: 判断题:并查集初始化后,每个元素各自独立成一个集合,此时 fa[i] = i。该说法是否正确? choices:
    • A. 正确
    • B. 错误
  • desc: 判断题:合并两个集合时,即使两个元素本来已经在同一个集合里,也必须修改 fa 数组。该说法是否正确? choices:
    • A. 正确
    • B. 错误
  • desc: 判断题:判断两个元素是否属于同一集合,只需比较它们的根 findRoot(a) 和 findRoot(b) 是否相等。该说法是否正确? choices:
    • A. 正确
    • B. 错误