undirected-graph

    -1热度

    1回答

    #include <bits/stdc++.h> using namespace std; int n,m; vector<int> adj[51]; int visited[51]; bool flag; void dfs(int i,int parent){ vector<int>::iterator it;

    0热度

    1回答

    我想使用Floyd-warshall算法找到加权无向图中任意两个顶点之间的最大距离。为此,我做了一些更改: 我加负值而不是正值。 然后我找出最短的路径。 但它没有给我正确的输出。有人能指出我犯的错误吗? class TestClass { public static void main(String args[]) throws Exception { Scanner sc

    2热度

    2回答

    我们可以假设所有边权重都是正数,并且可以枚举从顶点向外引出的边,以及在O(1)时间内向内引导的边。例如,您可以执行Dijkstra遍历(或带有可容许启发式的A *),并标记每个顶点的距离,直到您找到结束顶点,然后在它们描述可能的前辈时反转这些标记在最佳路径上。也就是说,对于每个可能的前驱,如果标记的距离之间的差等于连接它们的边的权重,则可以确定它是否在贪婪的最优路径上找到。 当考虑可能的前辈时,进

    0热度

    1回答

    问题与标题所示相同,该图以邻接列表形式给出。我的方法是在任何一个顶点调用DFS,并且每当我在DFS递归步骤中访问顶点时,我将从0开始递增全局变量的计数器,并且不会为该访问顶点调用DFS(正如我们通常所做的那样)。这是否正常工作,我想对吗?我还没有在互联网上找到任何相关文章,以了解#无向图中的循环次数。 详细说明:我的意思是使用简单的DFS方法。虽然我们在遇到访问顶点的递归步骤中没有做任何事情,但我

    0热度

    1回答

    无向图和未加权图之间有什么区别?它们是一样的吗?只是想100%肯定。 我对这一切都很陌生。请不要锁定我只是需要帮助,并希望学习。

    0热度

    1回答

    我是新来的stackoverflow,所以请裸露在我身边。 我想实现一个for循环来初始化网格形状的图形,包括对角线。基本上,我有一个数组,用我想在图中复制的值进行初始化。所以我有一个嵌套的for循环有几个if语句。 if语句用于处理特殊情况,即索引1,1处的元素只有3个邻居。 我知道我的图表函数的工作原理,因为如果我手工初始化它,它不会分段错误并打印正确的BFS,但是我的循环seg错误。请看看:

    1热度

    1回答

    我有向图,其中药剂从节点1移动到NODE2等在添加权重以下 node1 node2 flow A B 12 B A 6 C A 1 D B 3 E A 4 A E 10 E B 1 B E 2 我想改变这个向图成一个无向一个,求和边缘之间的流动,渲染结果如 node1 node2 flow A B 18 C A 1 D B 3 A E 14 B E 3 我试图在边

    2热度

    1回答

    我编写的以下C#算法检测到O(n)时间内无向图中存在一个循环。它避免了递归,并通过字典和散列集来利用散列。但是,我能做得更好吗? void Main() { var graph = new Dictionary<int, HashSet<int>> { { 0, new HashSet<int> { 4 } }, { 1, new HashSet<in

    0热度

    1回答

    在无向图,为此DFS已经执行(以便产生一个DFS树并因此归类每个边沿如任一树边缘或后边缘),才会有在图中的循环仅由后面的边缘,即没有树边缘?

    0热度

    2回答

    我有一大组表示一组图形的顶点/节点。请注意,这个完整集合中可能有许多独立的图。目标是在所有这些图上找到最小数量的顶点,这些顶点对应于这些选定顶点捕获的所有边上的最大权重总和。我在熊猫中有邻接矩阵,我正在使用networkx。 以下是三个列的示例数据框,其中Number_Of_Trips是权重。为了将两个度量合并在一起,我可以提供node = 10 *行程的权重。即旅行的最大化# - 10个* Nu