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

我在连接组件标签中使用不相交集很困难.我已经查看了许多示例,并且在 this question中,Bo Tian提供了一个非常好的disjoint Sets实现为C链表.我已经在我的程序中实现了连接组件标签(标签是简单的整数),但我很难解决具有不相交集的标签间的等价性.

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

编辑

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

解决方法

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...