我试图使用DFS算法中创造ASCII迷宫(“#”代表墙壁和'自由空间),有作为启动左上角和退出右下角。问题是迷宫开始创建,然后被阻塞,因为所有的邻居已经被访问过。 我在左上角的开始,标志着对小区的访问,把一个“”(它代表了一种自由空间),那么我选择了随机小区的邻居和我做同样的。不过,我把它放在一个while循环中,我相信这不是个好主意。 这里我的DFS的尝试: int generation(t_
我有一个深度限制搜索算法,我在一个循环中运行几次,以便该算法可以像迭代深化搜索算法一样工作, 为什么代码仅在我明确调用方法时才返回所需结果,而当我在循环中调用它。 public class DepthLimited {
public static void main(String[] args) {
Graph graph = new Graph();
graph.addN
给定二叉树。我们必须remove an edge并将其分区为two trees这样的difference of the diameter of the two new trees is less than a specified value K。 我有一个天真的解决方案,挑选each edge并检查条件,如果通过删除该边缘我们可以获得解决方案或不(我们可以通过使用两个DFS/BFS并计算直径)。这