问题标签 [weighted-graph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
407 浏览

graph - 需要找到两个城市之间的最短路径

我有这个要求。我必须创建一个应用程序,将以下数据(源城市、目的地城市、旅行时间)保存为一条记录,并且我可以选择将其保存在我想要的任何数据库中(关系、NoSQL、基于图形)。

现在用户可以通过给出源和目标城市来查询应用程序,我必须找到最短连接的最短路径和给定源和目标的最短时间的最短路径。

任何人都可以帮助我如何在数据库级别实现这个逻辑,因为即使我想在 java 中使用 Dijkstra 算法来实现这个逻辑。每次用户进行新搜索时,我都必须从数据库中获取所有记录来创建图表。

在方法/逻辑方面的任何帮助都会有所帮助。谢谢

0 投票
1 回答
179 浏览

c++ - 找到包含特定边的最短循环

嗨,我想解决此网站http://rosalind.info/problems/cte/上的“通过给定边缘的最短周期”问题。假设我们的特定边(即我们在这个问题中的第一个边)是“E”。我写了一个程序来解决这个问题,我的算法是在'E'的end_node上使用DFS,直到遇到'E'的start_node。它适用于该网站上给出的示例,但是当我使用大数据时,它会进入循环。我尝试了许多简单有向图的示例,但我没有找到为什么它会进入循环。谁能告诉我它是否会循环?

这是我的程序:

0 投票
1 回答
4819 浏览

r - 来自数据框的加权图

我有一个边缘列表,我想将其转换为加权图。我使用了以下代码:

它将权重作为边缘的属性。但是,当我想检查它是否加权时意味着:

它返回我FALSE。我怎样才能将其更改为TRUE

0 投票
1 回答
419 浏览

machine-learning - 如何在加权图中找到链接的预测权重概率

我有一个无向加权图。假设节点 A 和节点 B 之间没有直接链接,但是有路径通过其他中间节点连接两个节点。现在我想预测节点 A 和 B 之间直接链接的可能权重以及它的概率。

我可以通过找到可能的路径及其平均权重来预测权重,但是我怎样才能找到它的概率 在此处输入图像描述

0 投票
2 回答
14250 浏览

python-3.x - 使用 pandas 数据框将边权重分配给 networkx 图

我正在 python 3 中构建 networkx 图。我正在使用 pandas 数据框来为图提供边和节点。这是我所做的:

我想要的是熊猫数据框的“callDuration”列作为networkx图的边的权重,边的粗细也相应地改变。

我还想获得“n”个最大加权边缘。

0 投票
1 回答
208 浏览

networkx - 划分大型签名网络

我有一个大型签名网络。有符号网络是一个加权图,其边可以是 +1 或 _1。我需要对该图进行分区,以便将大多数正边放置在簇内,而将负边放置在簇外。该图非常稀疏。你有想法吗?在 Pajek 中有一个用于签名网络的特殊版本的 Louvain 算法。有人知道这个算法的细节吗?

0 投票
1 回答
1418 浏览

neo4j - 关系属性中的权重 Neo4j

我想在关系属性中增加权重。重量是从此代码计算的:

但是“重量”没有出现在 r1 的属性中我该如何解决这个问题?

0 投票
1 回答
816 浏览

java - 如何在java中为加权无向图编写toString方法?

我已经为无向图和符号表编写了一个类,以将边从字符串转换为数字,反之亦然,但是由于出现堆栈溢出错误,因此这两个字符串方法不起作用。我已经实现了一个 LinkedStack,它与 java 库中的堆栈相同。我没有收到编译错误,如果可以查看 toString 方法,我将不胜感激。其他方法工作正常。这是下面的代码。我认为问题是当我调用迭代器时

至于包含 toString() 的其他类

0 投票
1 回答
310 浏览

r - 将边缘列表映射到邻接矩阵(并将它们相加)

我想使用R. 首先,我构建了一个较小的 4 人圆x <- c(1, 2, 3, 4),它由 6 个独特的边(1-2、1-3、1-4、2-3、2-4、3-4)组成。然后,我将这组 6 个独特的边合并到一个列表中,以便可以使用igraph应用程序将其转换为对称矩阵(见下文)。

我的数据集有不止一个这样的小型友谊圈,由总共 50 人中的成员组成,这些圈子的成员可能重叠也可能不重叠。所以我的问题是如何m以两种不同的方式将一系列较小的矩阵值(如上述)映射到 50 x 50 的邻接矩阵:

(1) 不重复:比如说,如果 3 和 4 是一个圈子里的朋友,但他们在另一个圈子里也有联系,那么 3 和 4 之间的边应该保持 1(但加起来不等于 2) (2) 累积:如果关系在多个圆圈中表示更强的友谊,那么将这些圆圈映射到加权邻接矩阵中可能会提供更多信息,其中矩阵中的每个单元格代表不同圆圈中行和列 id 的友谊的累积计数。在 3 和 4 的情况下,它们的边缘值应该是 1 + 1 = 2。

我已经检查了这个和其他以前的线程,但似乎无法弄清楚如何做到这一点,如果有人能就此启发我,我将不胜感激。

0 投票
0 回答
205 浏览

python - 如何遍历python中的无序对

什么是通过另一个列表中的某个值迭代包含有序对的python中的列表的最佳方法。例如

我尝试了许多不同的方法来防止骑自行车,例如:

我的预期输出是:

我也明白使用二维数组会使这更容易,但我必须使用上面看到的树。

G 是一个 txt 文件,其中包含带有 uvd 的列,并且 T[0] 可以出现在任一 u v 中。边缘受到 (u,v) 的影响

TDLR; 我试图防止骑自行车,我是菜鸟。我在这里先向您的帮助表示感谢。