采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,路径压缩可以与rank优化一起使用吗?路径压缩对find方法进行优化,将树的高度减少了;而在union方法中又使用rank数组来表示树的高度。假设在union方法中调用find方法前某根节点为x的树高为3,调用find之后路径压缩高度变为了2。只是parent数组发生变化了,而rank数组没变化,那么这时rank[x]此时不还是3吗?我不明白的地方是这样树的高度已经与实际的不匹配,不会出现问题吗?
希望老师能解惑,不知道是不是我哪里想错了,先谢谢老师啦😁
大赞!你想得完全没有问题:)
可以参考这个问答:https://coding.imooc.com/learn/questiondetail/7287.html
谢谢老师解惑,rank可以作为参考值去使用,又明白一个知识点。老师,那如果路径压缩与size的优化组合的去使用也是可以的对吗?
可以,不过因为size本身和并查集的树的高度无关,所以通常不用size做优化。rank+路径压缩是并查集最经典的实现:)
嗯嗯,谢谢老师,明白了。
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.7k 21
5.7k 3
4.9k 5
1.3k 18