c – 如何在连接组件标签中使用不相交集?

前端之家收集整理的这篇文章主要介绍了c – 如何在连接组件标签中使用不相交集?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在连接组件标签中使用不相交集很困难.我已经查看了许多示例,并且在 this question中,Bo Tian提供了一个非常好的Disjoint Sets实现为C链表.我已经在我的程序中实现了连接组件标签(标签是简单的整数),但我很难解决具有不相交集的标签之间的等价性.

任何人都可以帮助我 – 也许使用Bo Tian的实施?我认为,当他们达到这一点时,这也将有助于其他人.

编辑

我的算法遍历图像,当它找到两个标签时,两个连接的像素具有不同的标签,它必须在“等价注册表”(它是Disjoint set forest)中做一个注释.在循环整个图像之后,我必须通过(在图像上第二次传递)查看注册表来解决等价,然后将具有等效标签的这些像素标记为最小值.

解决方法

检查这个 tutorial on DJS.只有修改是在联合期间你必须连接更大的更小,所以root总是最小的集合.

猜你在找的C&C++相关文章