algorithm - 我的算法仅对大值失败 - 我该如何调试?

标签 algorithm debugging

我正在转录 as3delaunayObjective-C .在大多数情况下,整个算法的工作原理和创建的图形完全一样。但是,对于较大的值(数千个点),该算法大部分 有效,但会创建一些不正确的图形。

我一直在回过头来检查最明显的错误位置,但我一直未能真正找到任何东西。对于较小的值,我运行原始算法的输出并将其放入 JSON 文件中。然后,我将该输出读入我自己的测试(仅包含 3 或 4 个点的测试),并进行调试直到输出匹配;我逐行检查了两种算法的输出,发现了差异。但我不能为了 1000 分而切实可行地做到这一点。

答案不需要特定于我的情况(尽管建议我可以使用的工具会非常好)。

如何调试只对大值失败的算法?

最佳答案

如果您正在将现有算法转录为 Objective-C,您是否有其他语言的工作原件?在那种情况下,我倾向于在两个版本中都放入打印语句并调试第一个差异(第一个,因为后来的差异可能是链式错误)。

我认为程序很可能也会对较小的图出错,但这种情况很少见。事实上,我的第一步是使用工作原件(或其他一些方法)在小图上运行大量自动检查的测试运行,希望找到一些更易于管理的输入大小的错误。

关于algorithm - 我的算法仅对大值失败 - 我该如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20246699/

相关文章:

c - 这段代码是如何编译的? (C 中的函数声明不正确)

ios - XCode 7调试区工具栏区别

iphone - 检查仪器中的内存分配

java - RMI服务器如何响应多个RMI客户端调用?

python - python 中的冒泡排序帮助 - 升序和降序

algorithm - 反序列化序列化整体的部分;反序列化对象内容而不反序列化整个对象

python - 使用 numpy 数组通过索引加速获取边缘矩阵

java - 一辆最大载重量为 500 磅的运输车辆,乘客名单的重量为 [130、170、140、100],shd 返回 [130、170] 以确保安全,正好留下 300 磅

java - 如何在 Eclipse 调试器中显示数组长度?

.net - 在 VS2010 中调试时出现 UI 阻塞