depth-first-search

    2热度

    1回答

    我们如何统计任意两个节点之间的节点 - 不相交路径的数量,使得两个节点之间的距离最大K ? 有关节点 - 不相交路径的详细信息可以是found here。 我们给出一个有向图,其中我们必须计数节点的数目 - 从顶点u不相交路径v使得它们之间的节点的最大数目为K - 2(u和v从ķ递减,因此K-2)。图中顶点的数量可以高达10^5并且边缘可以是6 * 10^5。我想为每个节点实施BFS,直到距离源节

    6热度

    1回答

    最近我在树上读了一个问题但是我发现在解决这个问题上遇到困难。这里是问题: 有国家具有n个城市(2到10^5)和第(n-1)的双向道路,使得这是可能的任何一对城市之间旅行。我们有1个魔卡车可城市之间旅行,但它会采取1个单位的时间(如果它的加载)和0单位时间(如果没有加载)在相邻城市之间旅行,并产品可在持有1个单位的产品。 现在,你可以在需要谁究竟2个单位的产品,不能等待超过2个单位时间任何城市的客户

    0热度

    1回答

    我已经实现了一个8益智游戏的dfs搜索,但由于某种原因,我不能设法让它工作,因为它应该,我的堆栈不断添加和添加我的8益智游戏可能的动作,但它永远不会减少的答案,我不知道这是否正常,但这是我的代码,以防有人可以帮助我。 代码没有完全优化我知道,我只是想知道为什么它不工作,因为应该是一个dfs,谢谢。 function depthFirstSearch(currentState, finalState

    4热度

    3回答

    我很难理解Tarjan的关节点算法。我目前在这里遵循这个教程:https://www.hackerearth.com/practice/algorithms/graphs/articulation-points-and-bridges/tutorial/。我真正无法看到的,在任何其他教程中都看不到的是“后沿”究竟是什么意思。考虑到那里给出的图表,我知道3-1和4-2是后边缘,但是是2-1,3-2和

    0热度

    1回答

    我想从CodeFights中找出这个问题,但我没有很多图遍历的经验,所以我很挣扎。我为这个问题阅读的提示之一是“图遍历”,所以我做了一个BFS,但我不知道如何获得云数量。 无论出于何种原因,这个问题和其他许多问题,当我们为它编写代码时,我的思维往往会变得空白。我试图找到连续的1,但无济于事。任何人都可以帮助我吗? https://codefights.com/interview/pDTvSuHBg

    0热度

    2回答

    我试图使用递归方法实现基于深度优先搜索的两个函数。我最终试图将运行时与warshall的算法(我已经工作)进行比较。当我打印我的矩阵时,它会被一对关闭的路径关闭。 递归是什么可能会把我扔掉,这是我的弱点。由于顶部if语句if(iIndex1 == iIndex2) return TRUE;,当我尝试查找是否存在来自(A,A),(B,B),(C,C)等的路径时,即使没有路径,我也将始终获得1从A到A

    0热度

    1回答

    我基本上试图更好地理解递归。让我们看看下面的DFS算法,该算法返回连接到基本根节点的所有节点。这种情况下的“图形”被定义为顶点之间边的元组列表。 def dfs(graph,node,dfs_visited): if node not in dfs_visited: dfs_visited.append(node) #find next node to go

    1热度

    1回答

    我目前正试图从目标状态进行回归搜索,以找出将实现我的GOAP计划者的目标状态的动作列表。到目前为止,对我有什么下来伪代码是这样的: closedList = list; s = stack; s.push(goal); while(s.size() > 0) { state = s.pop; if(!state exists in closedList) {

    0热度

    2回答

    我试图在我的二叉树中插入一个节点。但是,我不知道这样做的正确方法。我明白我应该运行一个bfs并插入第一个空位置。我如何将它翻译成代码? 我试图与DFS: 树看起来是这样的: class Node: def __init__(self, val): self.val = val self.left, self.right = None, None def inse

    0热度

    1回答

    我给了一个数组,arr = [3,4,2,3,0,3,1,2,1]和一个startIndex。当我在索引i时,我可以通过arr [i]向左或向右移动。我的任务是找到我是否可以达到0. 任何人都可以帮助我的方法吗? 谢谢:)