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