使用Python处理BFS,要确保我走在正确的“路径”上

时间:2019-11-27 19:53:06

标签: python breadth-first-search

这是我正在解决的问题:

问题2:https://leetcode.com/problems/rotting-oranges/ 解决方案2:https://repl.it/repls/FrighteningJubilantRay

对于我的解决方案,这是BFS bc,对于每个橙子,我只走了一步,特别是在下面显示的行中:

rotting = {(i + di, j + dj) for i, j in rotting for di, dj 
in [(0,1), (1,0), (0, -1), (-1, 0)] if (i + di, j + dj) in fresh}

BFS涉及在进一步分支之前搜索当前深度的所有橙色/节点。这就是我在使用(0,1),(1,0)等坐标的情况下所做的事情。由于这是一个矩阵,因此BFS引用的“当前深度”基本上就像直接与4向相邻的橘子一样。这就是为什么采用BFS方法的正确逻辑吗?

谢谢!

0 个答案:

没有答案