问题标签 [digraphs]

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 投票
1 回答
1221 浏览

python - Networkx:如何以广度优先的方式迭代有向图的所有边?

我有一个networkx DiGraph(不一定是无环的)。所有节点都有一个共同的前任:源节点 0。

我希望能够以广度优先顺序编辑所有边的属性。为此,我希望能够以广度优先的方式从源头开始迭代所有边缘。

bfs_edges 允许经典的广度优先搜索,这会导致以下问题:如果节点有 n 个直接前辈,则迭代器中只会出现一条边,而不是 n。

我的优势:

bfs_edges 返回什么:

任何人都可以帮忙吗?谢谢!

0 投票
1 回答
283 浏览

vim - vim - 使用八进制值搜索有向图

如果我有这个二合字母:ň 在文件中,将光标放在它上面并输入gaI see the message

<&#328;> 328, Hex 0148, Octal 510

但是,如果我搜索/\%o510/%x0148我得到E486: Pattern not found

在我的 vimrc 中:

set encoding=utf-8 set fileencoding=utf-8

如何使用八进制或十六进制代码搜索这些字符?

0 投票
1 回答
3322 浏览

python - 使用python添加边的图形实现

测试字符串表示欧拉项目问题 18中给出的结构。尝试使用图论来解决它。我试图创建的图形结构如下。字符串中给出的每个数字都是图中的一个节点。

节点类对象接受一个元组作为位置和值。在上面的字符串 myteststring 第一个数字 3 位置是 (0,0) 和值是 3 ,类似地 7 位置是 (1,0) 和值是 7

边缘类如下接受源节点和目标节点。

有向图类如下,它以python字典的形式存储边,其中key是源节点,value是目标节点的列表。通过方法addEdge向图中添加边时,它会检查节点是否作为边字典中的键存在。如果目标节点的源不是边字典中的键,则抛出“节点不在图中”错误。

将输入字符串转换为包含各个数字的列表列表。

我可以通过以下方式将节点添加到 Diagraph 对象。

10 个节点存在于边字典中。但是当我尝试使用 addEdge 方法添加边时,它会提高“节点不在图中”。谁能建议添加边缘的正确方法。字典的键是 class 的对象node

0 投票
1 回答
492 浏览

graph-theory - 使用 BFS 查找有向图的周长

所以我很难找到以下有向图的周长 在此处输入图像描述

我需要使用 BFS 来查找周长,但我不知道如何找到它。

在这方面的任何帮助将不胜感激。谢谢你。

0 投票
1 回答
30 浏览

graph-theory - 操纵负加权有向图的边成本以允许使用 Dijkstra 算法

假设我们有一个包含正加权边和负加权边的有向图。

我知道最短路径解决方案是 Bellman-Ford 算法。

我的问题是:为什么我们不能只在所有边成本上添加一些较大的值 N 以便不再有负边,然后使用效率更高的 Dijkstra 算法?

0 投票
0 回答
156 浏览

r - 如何使用向量将网络信息分配给 DiagrammeR grViz

我有一个邻接矩阵,并想使用DiagrammeR Graphviz语言来创建它的有向图。

贝娄是我的邻接矩阵MM

获取有关 DiagrammeR 站点diagrammeR Docs的信息,我可以使用以下代码创建有向图:

这可以很好地从 中创建有向图MM,但正如您所见,描述所有节点,以及更大代码的所有节点交互将变得过于繁琐,我们的想法是简化它。

所以,我的想法是使用向量来指示节点和节点交互,但这是我失败的地方。我尝试使用igraph将邻接矩阵转换MM为图形格式,并从那里提取节点交互并尝试将该信息分配给前面的代码。以下是我用于此的代码:

我试图将n_int向量分配给以下代码grViz: # 几个“边缘”语句 n_int

但这只会打印单词n_int加上指示的节点,每个节点都在一个圆圈内,而没有实际使用n_int信息来绘制节点之间的连接。

我知道在DiagrammeR 现场显示了另一种创建有向图(graph_creation)的形式,它允许使用向量指示信息,但该版本不允许为节点方向构建子图(例如,与生态学中的营养级别相对应的图级别)我需要。

所以我的问题是,有谁知道如何使用向量将节点名称及其连接分配给 grViz 代码?

0 投票
2 回答
57 浏览

networkx - 这个有向图操作需要哪种算法?

我可能想多了,遗漏了一些明显的东西,但我想知道我可以使用哪种 NetworkX 算法来实现以下目标:

给定一个有向图,例如:

简单有向图

以及节点列表,例如:Q1、Q2

找到所有连接到 Q1 和 Q2 的节点(或者换句话说,它们的子节点),结果如下:

第一季度

第二季度

哪种算法可以做到这一点?

0 投票
1 回答
296 浏览

python - 如何在有向图 draw_networkx 上显示边缘实验室

nx.DiGraph喜欢这个(玩具示例)

我建立一个平局如下

我想在绘图上显示边缘标签(边缘属性“范围”),但是一个标签叠加在另一个标签上,我们只看到一个(仅range= 10,但有range= 20)。如何解决? 在此处输入图像描述

0 投票
1 回答
694 浏览

python-3.x - 从 .p (picked) 文件构建 networkx Graph

我一直在做名为网络分析简介(Pt1)的 Datacamp 课程,并且有一个 Graph/DiGraph 形式的测试网络。

python shell在他们网站上的交互中,我可以输入T.edges()T.nodes()。但我不知道如何在我的本地机器上加载相同的网络。

数据以 .p 扩展名提供。单击https://mega.nz/#!hs4RhbjC!ukDcb6pDiJSEoAGy-WiosfcMgP62qiQgAAAAAAAAAAAA)访问该文件。

它读取错误

@

当我通过 nx.read_gpickle 尝试时,我得到了这个:

下面显示的是它的外观,我不知道如何制作它:

在 [1]type(T)

我似乎不明白如何实现 .p 文件转换为 Graph 的基本思想。

0 投票
1 回答
942 浏览

python - Python NetworkX - 从嵌套字典中获取有向图

我正在尝试从嵌套字典在 python 的 NetworkX 中创建一个简单的有向图,但看起来内置初始化并没有构建最终的叶节点。

玩具示例:

建筑图:

现在让我们看看里面有什么:

看起来没有添加最终节点

检查它:

看起来很合理

但:

我不确定为什么会这样?NetworkX 的文档指定:

incoming_graph_data (input graph (optional, default: None)) -- 初始化图的数据。如果 None (默认)创建一个空图。数据可以是 to_networkx_graph() 函数支持的任何格式,目前包括边缘列表、字典的字典、列表的字典等...

知道我做错了什么吗?