我正在尝试解决迷宫问题,我必须在2D网格中获取所有硬币并使用广度优先搜索打印最短路径。此算法标记为在查找路径时访问节点(单元格),但此问题需要多次访问单元格,因此我无法将其标记为已访问。
这是基于 ICS 161
的BFS的基本伪代码:article_no month(beleg.orderdate) reportMonth VK_amount
Produkt_A 1 1
Produkt_A 2 0
Produkt_A 3 0
Produkt_A 4 4 1
Produkt_A 5 5 2
Produkt_A 6 0
Produkt_A 7 7 3
Produkt_A 8 8 2
Produkt_A 9 0
Produkt_A 10 10 2
Produkt_A 11 0
Produkt_A 12 0
如何重新访问单元格而不必将其标记为已访问?
或者我如何标记一些我知道它们不属于最短路径的细胞?因此,该算法不必添加不必要的边缘。
答案 0 :(得分:0)
尽管我对您的问题仍然有些困惑,但这是我的一些建议。 要使用BFS查找最短路径,prim的算法可能是最佳选择。
这是关于原始算法工作原理的简短描述。 https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/
对于您来说,我们需要做的几件事:
现在我们有了边和顶点,我们可以进行Prim's Algo!
希望这对您有帮助