depth-first-search 相关问题

深度优先搜索(DFS)是用于遍历或搜索树,树结构或图的算法。一个从根开始(在图形情况下选择一个节点作为根)并在回溯之前尽可能地沿着每个分支进行探索。

非递归DFS实现

最近,我需要实现非递归DFS作为更复杂的算法(准确地说,是Tarjan算法)的一部分。递归实现非常优雅,但不适用于大型...

回答 7 投票 4

您可以检查下面的DFS和BFS代码是否正确?

请大家检查下面的DFS和BFS代码是否正确?我尝试使用最少的代码来做到这一点。请查看。

回答 1 投票 0

深度优先搜索(递归)到达叶节点后如何工作?

当前正在学习DFS,并且仅对DFS的工作原理有几个疑问。由于代码的冗长性,下面的Repl链接为:https://repl.it/@Stylebender/DFS-Recursive Is ...

回答 1 投票 0

DFS实现在两个树节点之间查找路由

class TreeNode(object):def __init __(self,x):self.val = x self.left =无self.right =无def getDFSpath(root,goal,stack):stack.append(root.val)如果root.left ...

回答 1 投票 0

使用networkx生成完整的DFS路径

我正在尝试生成完整的路径列表,而不是优化的路径列表。使用下面的示例更好地解释。将networkx导入为nx G = nx.Graph()G.add_edges_from([[(0,1),(1,2),(2,3)])G ....

回答 1 投票 0

如何在深度优先遍历中使用回溯?

谁能简单地告诉我,深度优先遍历如何使用回溯?我努力理解,因此可以举一个例子。谢谢。

回答 1 投票 0

从每个节点中找到最高可达的节点

我有向图G(V,E)。 G可能包含循环。每个v以值n [v]开头。让我们称S {v}为G中v可以到达的所有顶点。对于每个v,我需要用max(n [u]),u∈S{v}更新n [v]。我是...

回答 1 投票 0

如何使用Java的深度优先搜索显示树(给定顺序)?]

我有一棵树,我希望使用DFS算法在其中显示从初始节点(根)到所有叶子的树。为简单起见,我的数据库与之相同:root id_son ...

回答 1 投票 0


使用DFS回溯算法生成迷宫的问题

我正在尝试实现DFS回溯算法,该算法涉及利用Wikipedia上的堆栈(而非递归算法)。我试图生成一个0和1的迷宫,其中1的...

回答 1 投票 0

如何找到迷宫机器人后一行的最佳路径?

此问题已经发布在机器人技术stackexchange中,但我没有得到任何答复。而且,这个问题是关于解决具有一些约束的迷宫,因此它不限于制作特定的...

回答 1 投票 0

我对主要路径问题的回答是错误的,有人可以帮助我找到问题吗?

问题链接:https://www.spoj.com/problems/PPATH/问题的简要说明,1)构造一个质数介于1000和9999之间的图。2)在两个数字'a'之间添加无向边...

回答 1 投票 0

二维数组中的递归

我有一个二维布尔数组:boolean [] [] field = new boolean [7] [11];我想做的是检查从field [0] [0]到field [7] [11]是否存在有效的“路径”。例如,这将是...

回答 3 投票 0

如何跟踪访问bfs / dfs中所有节点的路径

这类似于如何在广度优先搜索中跟踪路径?但是,看来该帖子中答案中描述的方法不适用于我的情况。在这里,我所说的本质上是指...

回答 2 投票 0

迭代DFS-在哪里将节点标记为已访问?

这是我基于一些建议的迭代dfs的实现,我在这里看到的一些建议是,将节点添加到堆栈后立即将其标记为已访问。我看了其他的...

回答 1 投票 0

如何在图形中查找连接器?

我在这里有点挣扎,因为老实说我的大脑被炸了,我对如何做一无所知。我的任务是在无向,无权的图中找到连接器。该任务声称:在...

回答 1 投票 0

DFS中的边缘分类

根据该书(算法简介),在dfs中,边缘分为4种:树边缘,如果在边缘(u,v)中,首先发现v,则(u,v)是树边缘。后边缘,如果......,v是...

回答 1 投票 16

是什么使广度优先搜索算法比深度优先搜索慢(均在下面显示)?

我正在使用DFS和BFS解决迷宫问题中的鼠标,在该问题中,允许鼠标向右或向上移动。由于分支因子只有2,迷宫是5x5矩阵,因此...

回答 1 投票 0

为什么看起来缺少一些回叫(DFS),这为什么起作用?

def dfs(s,d):def dfs_helper(s,d):如果s == d:如果s被访问,则返回True:返回False visit.add(s)for graph [s]中的c:dfs_helper(c ,d)返回False Visit = ...

回答 1 投票 0

描述一种算法,以确定在具有新边缘的新DFS中是否可以进行相同的发现/完成时间

您将获得有向图G =(V,E)和DFS林,其中包含DFS运行后每个顶点的发现/完成时间。假设现在将一个新边e添加到G。通过旧发现和...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.