Hopcroft-Karp的C算法

时间:2018-06-09 11:20:22

标签: c graph matching

我正在研究图算法理论(我的数学家还没有计算机科学),我确实有一些与自我匹配的问题,我正在使用Hopcroft-Karp出于严重的原因(Hopcroft–Karp algorithm)。 我不想手工解决它们,所以我想用它来制作一个程序。但是因为我正在学习C,所以我有兴趣使用C代码来解决它。我发现了一些关于C ++的想法,但我还没有读到这个(可能是几年后的下一个编程语言......)

你们有没有人在他的计算机上有一个好的C编程的Hopcroft Karp算法想要与我和社区分享?它不仅仅是代码,我会惊讶地解释它是如何在C中工作的。我无法想象如何使用指针来使用BFS和DFS。 如果有人有代码+解释,请提前致谢。

====

编辑: 正如我对Young Developers所说的那样,我现在已经分配了回购并尝试将其实现为C,只要我能够在不了解它的情况下进行。 你可以找到main.c文件中的所有内容,没有标题或者存在。每个地方都有一个" TODO"位于意味着,还有一些事情需要做。 所以在目前,我实现并将所有内容更改为C功能,如您在此处所见。 https://github.com/Dabendorf/hopcroft-karp/blob/master/main.c

它正在编译,但在某个地方有一个我无法找到的错误,因为它会给出错误的结果。 它与事实有关,原始作者从一个算起,我使用的是一个普通数组,从零开始计算。但这只是我的猜测。 所以错误也可能在其他地方。

有人看到了吗?

1 个答案:

答案 0 :(得分:1)

Vermagav实施Hopcroft–Karp Algorithm与课程和其他功能没有直接映射到C.也许这是您从该实施开始的最佳选择。如果开始创建Vermagav项目的Github分支,我们都可以帮到你。