在二维阵列中进行最小化搜索

时间:2017-11-04 17:40:04

标签: arrays algorithm

我在学校遇到了问题。问题是: 给定8 * 8阵列。假设“幽灵”隐藏在数组中的某个位置。

第一次访问隐藏“ghost”的数组中的块时,ghost会移动到另一个随机块。当鬼魂被发现2次时,算法终止。

问题是描述一种算法,以便在最少的步骤k中找到重影。

对于初学者来说,我认为我应该尝试像Hamiltonian Path这样的东西,如果数组中的每个块都让我们说一个顶点,但这个算法的复杂性太大了。

然后,我想到了简单的迭代搜索,它将是O(n^2 - 1)。因为,在第一次找到鬼魂之后,将不再访问同一个盒子。

另一种方法是在数组中选择一个随机点并从那里开始我的线性搜索,但这又是'O(n ^ 2 - 1)'。

这真让我疯狂。有什么建议吗?

0 个答案:

没有答案