讨论 / 为什么总是栈溢出???
NuclearWeapon 2008-10-21 06:53:00
点我顶贴 收藏 删除
而且该输出-1的没有输出,难道我的并查集有问题????

function find(m:longint):longint;

begin

if f[m]=m then exit(m)

else

begin

f[m]:=find(f[m]);

exit(f[m]);

end;

end;

#1 xiaokeke@2008-10-20 06:46:00
回复 删除
从这个来看ms没什么错误。

发个全程序seesee

#2 guoshi3@2008-10-21 05:38:00
回复 删除
并差集还是非递归实现好点。虽然编程难度上去那么一点点,但是空间时间都会降下来那么一点点……
#3 guoshi3@2008-10-21 05:41:00
回复 删除
总共4万个点的话,递归起来还真有可能栈溢出的
#4 xiaokeke@2008-10-21 05:53:00
回复 删除
原来如此……
#5 lizhixin@2008-10-21 06:53:00
回复 删除
我觉的递归难了那么一点
查看更多回复
提交回复