请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

路经压缩过程中Rank的变化

老师,请问在路径压缩的过程中,不需要维护rank了吗?

正在回答

1回答

liuyubobobo 2017-03-18 01:54:58

wow,你观察到了一个很深刻的问题:)


事实上,这正是我们将这个变量叫做rank而不是叫诸如depth或者height的原因。因为这个rank只是我们做的一个标志当前节点排名的一个数字,当我们引入了路径压缩以后,维护这个深度的真实值相对困难一些,而且实践告诉我们,我们其实不需要真正维持这个值是真实的深度值,我们依然可以以这个rank值作为后续union过程的参考。因为根据我们的路径压缩的过程,rank高的节点虽然被抬了上来,但是整体上,我们的并查集从任意一个叶子节点出发向根节点前进,依然是一个rank逐渐增高的过程。也就是说,这个rank值在经过路径压缩以后,虽然不是真正的深度值,但仍然可以胜任,作为union时的参考。

15 回复 有任何疑惑可以回复我~
  • 这也正是我想问的问题。谢谢老师!
    回复 有任何疑惑可以回复我~ 2017-03-18 16:28:05
  • 提问者 Mr_Scorpio #2
    感谢老师解答!
    回复 有任何疑惑可以回复我~ 2017-03-18 16:39:29
  • 提问者 Mr_Scorpio #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-03-18 16:39:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信