采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问在路径压缩的过程中,不需要维护rank了吗?
wow,你观察到了一个很深刻的问题:)
事实上,这正是我们将这个变量叫做rank而不是叫诸如depth或者height的原因。因为这个rank只是我们做的一个标志当前节点排名的一个数字,当我们引入了路径压缩以后,维护这个深度的真实值相对困难一些,而且实践告诉我们,我们其实不需要真正维持这个值是真实的深度值,我们依然可以以这个rank值作为后续union过程的参考。因为根据我们的路径压缩的过程,rank高的节点虽然被抬了上来,但是整体上,我们的并查集从任意一个叶子节点出发向根节点前进,依然是一个rank逐渐增高的过程。也就是说,这个rank值在经过路径压缩以后,虽然不是真正的深度值,但仍然可以胜任,作为union时的参考。
这也正是我想问的问题。谢谢老师!
感谢老师解答!
非常感谢!
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.7k 21
5.7k 3
4.9k 5
1.3k 18