我必须实现连接组件标记算法 Fortran。我对如何扫描矩阵有一个清晰的想法,但是存储和恢复等价类呢?我想在许多其他编程语言中是一件容易的事,但我必须在 Fortran 中完成。我该怎么做?
第一次编辑:按照维基百科上关于连接组件算法的伪代码,我不知道如何在 Fortran 中做的是
linked[label] = union(linked[label], L)
这是答案的一些片段。看起来您需要实现一个表示一组标签的数据结构。您必须做出的第一个决定是决定如何为标签建模。我看到了 3 种明显的方法:
第二个决定是如何实现一组标签。我看到了 3 种明显的方法:
根据您所做的选择,实现联合函数以将新标签添加到现有标签集应该非常简单。
但请注意,还有许多其他方法可以解决此问题。例如,您可以从一组已定义的组件标签开始,然后从该组中删除不需要使用的标签。
由于您似乎是 Fortran 新手,因此这里列出了您需要熟悉以实现上述功能的语言特性。