depth-first-search

    0热度

    3回答

    我已经编写了深度优先搜索算法,但是它从树的右侧向左搜索。我可以从代码中看到它为什么这样做,但我无法想出一个解决方案来更改它,以便从左到右进行搜索。 public class DFS { public LinkedList<Node> search(Node root, Node target) { LinkedList<Node> open = new LinkedLis

    0热度

    1回答

    我正在练习使用DFS解决机器人路径问题。机器人可在以下两种方式只能移动: (X,Y) - >(X,X + Y) (X,Y) - >(X + Y,Y) 给定一个点(10,12),机器人能到达某个点(32,22)吗?我写了下面的代码,但它还没有完全工作,它只适用于像(10,22)这种情况(x,x + y)的情况。如果测试用例是(x +(x + y),x + y),例如(32,22),我的代码不起作用。

    -1热度

    1回答

    这是link这个问题。 给定无向图。图的密度是| E | ⁄ | V |。您的任务是选择非空集顶点V,使得在V上诱导的子图具有最大密度并打印此密度。但如果最大密度严格大于,只需打印“> 1”。 顶点的最大数量:10 边数:10 我只是做了一个简单的解决方案,但在这个解决方案,我可以保持整个图表的轨道,但是如何获得较小子图的密度值? #include<iostream> #include<vect

    0热度

    1回答

    我希望能够在有向图和无向图中查找所有循环。 在下面的代码,如果一个周期中的有向图的存在与否返回True或False: : def cycle_exists(G): color = { u : "white" for u in G } found_cycle = [False] for u in G: if color[u] =

    0热度

    1回答

    我有一棵树。该树中的一些节点有一个值。我想找到具有该值的节点并将其添加到堆栈。 private Stack<Integer> dfs(Node e, Stack stack) { if(e.num != 0){ stack.push(e.num); } for(Node child : e.children){ dfs(child, sta

    0热度

    1回答

    我有一棵树。此树中的所有节点都有一些true/false值,一个元素和父/子指针。此树中的一个元素将true/false值设置为true。我想找到一个从根到这个唯一节点的路径(元素序列)。所以如果我的树看起来像这样: A /\ B C / \ D E /\ F G /\ H I 而特殊节点是H,我的算法会返回字符串“A

    0热度

    1回答

    已知:未加权的有向图(G =(E,V)),可以包含任意数量的循环。 目标:对所有的顶点我要V中的最长简单路径来一些目标顶点X 算法理念: For each v in V v.distanceToTarget = DepthFirstSearch(v) Next DepthFirstSearch(v as Vertex) if v = target then 'D

    1热度

    1回答

    我已经在邻接矩阵图上实现了prim的算法。该算法的结果是3个矢量:一个visited,一个parent和一个distance矢量。算法visited[i] == true结束时,全部为i = 0..N-1。 parent[i]是i的母公司,distance[i]是从parent[i]到i的距离。 现在,鉴于这3个向量,我试图想如果我可以做一个深度优先搜索,而不需要创建一种树结构,我可以通过它来应用

    1热度

    1回答

    我在执行(不是代码)DFS时遇到了麻烦,该算法结合双组分算法来查找图中的关节点,该算法在我的计算机科学讲座中提出,没有把握实施。 (只是为了澄清我知道如何实现DFS)让我解释一下:我们给出了一个图表,我们必须执行一个DFS来查找所有关节点,使用后面的数字和DFS号码。我的主要问题是使用给定的算法找到每个节点的背部编号。 我们给了一个教程作为练习来实现算法,我做了它,但我不知道它是否正确。有人可以检

    0热度

    2回答

    我必须在C中实现一种回溯算法,它将在纯软件中模拟一个硬件,并跟踪从系统输出到输入引脚的单一路径,记录所有的门,它们的输出和输入采取)在路径上以相反的顺序。我发现它可以在图遍历算法中完成,但不能在C中实现。任何有用的建议都会有帮助!