我有两种查找算法,它们看起来很相似。有人能帮我解释一下它们实际上有什么不同吗?
Find ( x ) :
if x.parent = x then
return x
else
return Find ( x.parent )
vs
Find ( x ) :
if x.parent = x then
return x
else
x.parent <- Find(x.parent)
return x.parent
我理解第一个为:
int i = 0;
return i++;
第二个则是
int i = 0;
int tmp = i++;
return tmp
对我来说,它们完全相同。
x.parent <- Find(x.parent)
不是Java。 - Bohemianx.parent <- Find(x.parent)
修改了x.parent
,而第一个没有这样做。 - Blender