如何计算结果森林中一棵树的最大高度?

for i from 1 to 60:
  MakeSet(i)
for i from 1 to 30:
  Union(i,2*i)
for i from 1 to 20:
  Union(i,3*i)
for i from 1 to 12:
  Union(i,5*i)
for i from 1 to 60:
  Find(i)

假定不相交集数据结构实现为不相交树,具有按等级启发式联合和路径压缩启发式的不相交树。

计算结果林中一棵树的最大高度。

xiaonv5835335 回答:如何计算结果森林中一棵树的最大高度?

答案为 1

以下是说明:

森林中至少有一棵高1的树。此外,自从最后一个for循环调用所有60个元素的Find()以来,所有树的高度最多为1。由于使用了路径压缩,因此在此循环中,每个非根节点都将直接附加到相应的根,因此所有树的高度最多为1。

本文链接:https://www.f2er.com/2551902.html

大家都在问