algorithm - 在访问每个单元格一次后到达矩阵中的目的地

标签 algorithm matrix graph

<分区>

以这样的方式从给定的源到目的地遍历给定的二维矩阵,每个单元格都应该被访问一次(我们必须恰好覆盖矩阵的所有单元格一次并且必须到达目的地)。 我能得到的是-

1.这并不总是可能的。

2.它是哈密顿路径的一种变体,节点是单元格,边是相邻单元格之间。

是否有任何其他解决方案来获取路径的答案,如果存在,则返回 -1。

最佳答案

我不清楚您的问题是涉及矩形网格图还是一般网格图。

无论哪种情况,答案都在 A. Itai, C.H. Papadimitriou, J.L. Szwarcfiter, Hamiltonian paths in grid graphs, SIAM J. Comput. 11 (1982) 676–686 .

这两者的区别在于,矩形网格图意味着你可以去矩阵中的任何地方,而对于一般的网格图,矩阵中的某些条目是禁止输入的。

对于矩形网格图,该论文给出了一个条件,说明对于给定的源和目的地,路径是否可行。

对于一般的网格图,论文证明问题是 NP 完全的。

关于algorithm - 在访问每个单元格一次后到达矩阵中的目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24716690/

相关文章:

Javascript:在二维矩阵(数组)中查找矩形的 Angular 位置

algorithm - 如何在不包含负值的情况下获取矩阵中的所有邻居索引?

python - 如何使用带有约束和动态函数的 Scipy minimize

graph - 如何将文本文件自动转换为graphviz点文件?

c++ - 在 C++ 窗口中绘制图形

c - 链表在打印时仅显示第一个节点元素

c - 排序算法交换不起作用

algorithm - 边数为偶数的最短路径

algorithm - 图形绘制算法 - 我正在尝试渲染有限状态自动机

algorithm - 编辑距离(Levenshtein distance)递归自上而下实现的复杂性