我正在转录 as3delaunay至 Objective-C .在大多数情况下,整个算法的工作原理和创建的图形完全一样。但是,对于较大的值(数千个点),该算法大部分 有效,但会创建一些不正确的图形。
我一直在回过头来检查最明显的错误位置,但我一直未能真正找到任何东西。对于较小的值,我运行原始算法的输出并将其放入 JSON 文件中。然后,我将该输出读入我自己的测试(仅包含 3 或 4 个点的测试),并进行调试直到输出匹配;我逐行检查了两种算法的输出,发现了差异。但我不能为了 1000 分而切实可行地做到这一点。
答案不需要特定于我的情况(尽管建议我可以使用的工具会非常好)。
如何调试只对大值失败的算法?
最佳答案
如果您正在将现有算法转录为 Objective-C,您是否有其他语言的工作原件?在那种情况下,我倾向于在两个版本中都放入打印语句并调试第一个差异(第一个,因为后来的差异可能是链式错误)。
我认为程序很可能也会对较小的图出错,但这种情况很少见。事实上,我的第一步是使用工作原件(或其他一些方法)在小图上运行大量自动检查的测试运行,希望找到一些更易于管理的输入大小的错误。
关于algorithm - 我的算法仅对大值失败 - 我该如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20246699/