【发布时间】:2013-02-24 14:40:23
【问题描述】:
给定一个用 C++ 编写的程序 P,我是否可以编写一个算法来判断程序 P 是否实现了特定算法?有没有解决这个问题的算法。这个问题可以解决吗?
例如,我要求一个人实现快速排序算法,现在如果我想确保该人实际实现了快速排序算法。该人实际上可以实现一些其他排序算法,它将产生正确的输出并通过所有测试用例(黑盒测试)。我可以做到这一点的一种方法是查看源代码。我想避免这种手动工作,并想编写一个可以完成这项工作的程序。问题是“这可能吗?”。
【问题讨论】:
-
让人们使用抽象接口进行一些低级操作怎么样,例如访问元素和交换。然后向它们传递一个具体的对象,以确保调用者以快速排序的方式调用这些操作。
标签: algorithm automation