当然是不一样的, 你赋值是在findRoot中做的 set[s] = findRoot( set , set[s] ) ; 但是merge操作在findRoot后执行, 可能会改变root. 另外你这个赋值操作是一种并查集的优化方法, 称为路径压缩, 这样保证查找的路径不会过长, 复杂度为log级, 但并不能保证所有点都直接指向父节点, 否则查找就是稳定O(1)了. 实际上要达到近似常数的复杂度还需要使用按秩合并优化.
点赞 2

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
头像
10-22 19:18
上海大学 后端
jopajhhdjwnqk:水印都叠杀人书了
点赞 评论 收藏
分享
牛客网
牛客企业服务