所以我有以下问题:
给定一个 x x y 维度的网格,计算从一个角开始(比如左上角)到另一个角(右下角)结束并通过每个顶点的路径数。
所以我目前的方法只是通过尝试所有可能的路径并计算到达终点并遍历每个节点的路径来强制它。虽然它有效,但它是 O(n^2) 并且非常快地变得令人难以置信的慢。由于路径需要遍历每个顶点,我不确定如何组合地执行此操作。
我查找了更复杂的算法,并且 Hierholzer 计算欧拉路径的算法似乎有些相关但并不完美,因为为此不能多次遍历节点。
事实上,我的程序可以工作,但效果很差,我想让它更有效率。我可以使用更好的算法吗?
编辑感谢到目前为止的答案。澄清一下,二维网格中的所有节点都通过 n/e/s/w 连接
此外,网格不必是正方形