depth-first-search

    0热度

    1回答

    我正在为(链接列表)图实现DFS。 我的图形结构如:http://i.imgur.com/Pm9jC.png 正如你可以看到,有一个名为“A”的许多节点。就顶点而言它们是相同的,但它们在节点方面实际上是不同的。实施DFS涉及在某个时刻将“a”标记为已访问。这看起来很简单,但我希望你能在这里看到我的问题。有很多“a”标记为已访问。我希望我在这里做错了什么。 问题: - 首先标记“a”为已访问并将其推

    0热度

    2回答

    找到一个MST 我有以下算法:对于在边缘上给定的(有限无向简单)图G =(V,E)具有正权重函数: 运行DFS(深度 - 首先搜索),直到您发现边缘倒退或DFS停止。如果停止,返回G. 在一个由倒退边缘构造的圆形发现的最重的边缘,距离G.删除 返回1. 现在我需要明白这是什么算法在做。我已经证明算法给了我一个G的生成树,我相信它是一棵最小生成树,但我未能证明这一点。请帮我证明一下。

    4热度

    2回答

    我正在阅读关于DFS的Cormen的算法简介。以下是文本 的片段。 不同于BFS,其前身子图形成树,由DFS产生可以由几种树,因为 搜索可以从多个来源进行重复的前身 subgrpah。 除上述说明外,还提到了以下内容。 BFS仅限于一个源可能看起来是任意的,因为DFS可能会从多个来源搜索 。虽然从概念上讲,BFS 可以从多源数据源进行并且DFS可能限于一个 数据源,但我们的方法反映了这些搜索的结果

    0热度

    3回答

    public void traverse(Node root){ ArrayDeque<Node> queue = new ArrayDeque<Node>(); queue.add(root); while(!queue.isEmpty()){ Node currentNode = queue.pollFirst(); List<Node

    1热度

    2回答

    我已经给出了一个在java中实现图的任务。它最终将用于测试搜索方法(广度优先,深度优先和迭代深化)。这三个类需要实现三个相应的接口: public interface Node { public Node createNode(String name, int ID, float weight); public Node[] getNeighbours(); publ

    1热度

    2回答

    我想使用一个堆栈并返回一个路径,但我认为这是不可能的。 节点必须由它的父节点直接调用,以便它可以接收它后面的路径,而当此节点被压入堆栈时,它将失去目前为止的路径。使用堆栈会导致节点孤立地进行评估,并且无法将节点的父路径传递到节点。 我不能让节点具有它们背后的路径的属性,因为这是一项家庭作业。 我已经在这一个难住了一个多星期!

    1热度

    2回答

    我试图编写一个程序,需要一个Sudoku难题并解决它。 不过,我遇到了一个错误的StackOverflow在这一行: Move nMove = new Move(current.nextMove(current, sboard).i, current.nextMove(current, sboard).j); 它具有检查,此举是否有效的方法isLegal。如果移动有效并且下一步移动也有效,则将

    1热度

    4回答

    我正在为在berkley网站上的AI课程页面上找到的作业寻找乐趣。我需要为pacman游戏编写一个深度优先搜索,以便它能找到它的路径。问题是pacman被卡住了。我先粘贴代码,使我的意思更清晰: import util class SearchProblem: """ This class outlines the structure of a search problem

    -1热度

    1回答

    我遇到以下代码的问题。它在迷宫函数内NewMaze似乎在中断。我跑它通过萤火,我得到以下错误: parent is undefined: line 97 newmaze_generator.js [Break On This Error] self.visited = function() {return parent.visited();}; 而且我不知道为什么它会是不确定的,如果

    0热度

    1回答

    所以目前我有一个DFS与下面的伪代码 procedure DFS(Graph,source): create a stack S push source onto S mark source while S is not empty: pop an item from S into v for each edge e in