拿下技术面上传简历

有 6 个元素 {0,1,2,3,4,5},初始每个元素单独一个集合,parent[i]=i,rank[i]=0。依次执行:union(0,1)、union(2,3)、union(1,3)、union(4,5)。采用按秩合并(rank 相同时把后一个根挂到前一个根)和路径压缩。请写出每次 union 操作后的 parent 数组。然后执行 find(3),写出路径压缩后的 parent 数组。

数据结构与算法线性与树结构校招知识点 1 个

面试官在考什么

判断候选人是否真正手动模拟过并查集的合并与路径压缩,理解 union 必须先 find 到根、按秩合并的规则,以及路径压缩改变了哪些指针。

并查集

回答框架 · 前两步

  1. 初始:parent=[0,1,2,3,4,5],rank=[0,0,0,0,0,0]。
  2. union(0,1):find(0)=0,find(1)=1,rank 相同,1 挂到 0,parent=[0,0,2,3,4,5],rank[0]=1。

还有 4 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「数据结构与算法」方向页

同一能力域的其他题