shortest-path

    2热度

    2回答

    我工作了下面的问题,我认为我有它主要是解决最短路径,但是一些测试用例执行失败: 你有空间站的部分地图,每个从监狱 出口开始,并在逃生舱的门口结束。该地图以0和1的矩阵表示为 ,其中0是可通过的空间并且1是不通过的墙壁。监狱外的门位于左上方(0,0) ,进入逃生舱的门位于右下角(w-1,h-1)。 编写一个函数答案(地图),它可以生成从监狱门到逃生吊舱的最短路径长度,您可以在此处移除一堵墙作为重建计

    -2热度

    1回答

    所以我有一个包含正整数的N大小的数组A. 该阵列可能有许多重复,我想找到最短的距离去旅游阵列,并访问阵列中发生的每个数字 迭代从A [0]开始的数组的最佳方式是什么上。 到目前为止,我已经想出了将所有数字添加到一个集合中,以便我可以比较,如果我已经在那里。 例如下面的数组中的最短距离访问所有数字是5 Integer[] nums = { 2, 6, 7, 2, 3, 3, 1, 2 }; ,所

    0热度

    1回答

    我想实现dijkstra的算法(在无向图上)找到最短路径,我的代码是这样的。 注意:我没有使用堆/优先级队列或任何东西,但邻接列表,字典存储权重和布尔表,以避免在循环/递归循环永远。此外,该算法适用于大多数的测试案例,但未能为这个特殊的位置:https://ideone.com/iBAT0q 重要:图形可以从V1到V2(反之亦然),你必须使用最小重量有多个边缘。 import sys sys.

    1热度

    1回答

    我应该得到0-3-6-5作为成本的输出。 -1-0-3-1用于前一个数组的输出。和1-1-1-1为访问数组。 我得到了0-3-7-5为我的输出成本和-1-0-1-1为以前。如果可以的话请帮忙。 我试图看看7是什么时候它应该是一个六,而我没有搞清楚。这是我第一次用C语言进行编码,因此看起来有点草率。 #include <stdlib.h> #include <stdio.h> #include

    0热度

    1回答

    我做了一个面试问题/编码挑战,我需要通过数组“arr”提出最短的“跳数”,其中每个我可以跳转1-> arr [i]。 一个难题就是我不能登陆任何以0为值的索引。 当我开始研究这个问题时,我开始将数组作为一个有向图,其中每个索引都是节点i,并且他们的子节点由所有可到达节点i + 1-> i + arr [i]表示。 当你想象这是一个图,我认为使用Dijkstra's是一个好方法,因为我不需要遍历数组

    1热度

    1回答

    我想返回图的两个顶点之间的最短路径。我写了一段代码来查找breadthFirstSearch,但我不知道如何修改它以使其返回最短路径。下面是我的广度FirstSearch函数 private void breadthFirstSearch(T start,T end){ Queue<T> queue = new LinkedList<>(); Set<T> visited =

    -1热度

    1回答

    如何从字典中的关键字x到关键字y获得最快的可能方式,假定它们都是通过它们的数组值连接的。 network={ 1: [3], 2: [4], 3: [1, 8, 7, 6, 4], 4: [2, 3, 6, 5], 5: [4, 11, 10], 6: [3, 11, 4], 7: [3, 8, 11], 8: [3, 16, 9, 7], 9: [8, 16, 14, 11],

    0热度

    1回答

    我有一个图G =(V,E),其中有两个权重函数w1(e)和w2(e),其中 w1(e)=(w2(e))^ 2。所有边缘权重都是独一无二的。 在两个权重函数下,Kruskal的算法将返回相同的最小生成树 。 我知道kruskal是贪婪的,会选择最短/最低成本的路径。既然它们是肯定的,只要没有成本为1.5或者更低的路径,我们最终会选择相同的MST。 在两个权重函数下,Dijkstra的算法将返回相同的

    0热度

    2回答

    我已经加载了DNA SNP的分层树(DAG)。我想确定最低的共同祖先。 此查询的工作,产生一个正确的节点: Match (n:SNPNode{SNP:'R-Z11'}), (m:SNPNode{SNP:'R-BY13828'}) match path=(n)-[:SNPParent*..99]->(MRCA)<-[:SNPParent*..99]-(m) return MRCA.SNP 然

    0热度

    1回答

    我有一个具有约5000个节点的双向加权图表 我有一个“重要”节点(100左右)列表。给定一个起始节点和一个结束节点,如何找到这两个节点之间的最短距离,这两个节点至少通过一个“重要”节点。请注意,没有负面的边缘。我实现了dijkstra的算法来找到给定两个节点的最短距离。我知道如何解决这个问题的唯一方法是查看重要节点列表,找到所有重要节点从开始 - >重要节点#1 - >结束的距离,然后取最小值。有