问题标签 [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.
python - Networkx:如何以广度优先的方式迭代有向图的所有边?
我有一个networkx DiGraph(不一定是无环的)。所有节点都有一个共同的前任:源节点 0。
我希望能够以广度优先顺序编辑所有边的属性。为此,我希望能够以广度优先的方式从源头开始迭代所有边缘。
bfs_edges 允许经典的广度优先搜索,这会导致以下问题:如果节点有 n 个直接前辈,则迭代器中只会出现一条边,而不是 n。
我的优势:
bfs_edges 返回什么:
任何人都可以帮忙吗?谢谢!
vim - vim - 使用八进制值搜索有向图
如果我有这个二合字母:ň 在文件中,将光标放在它上面并输入ga
I see the message
<ň> 328, Hex 0148, Octal 510
但是,如果我搜索/\%o510
或/%x0148
我得到E486: Pattern not found
在我的 vimrc 中:
set encoding=utf-8
set fileencoding=utf-8
如何使用八进制或十六进制代码搜索这些字符?
python - 使用python添加边的图形实现
测试字符串表示欧拉项目问题 18中给出的结构。尝试使用图论来解决它。我试图创建的图形结构如下。字符串中给出的每个数字都是图中的一个节点。
节点类对象接受一个元组作为位置和值。在上面的字符串 myteststring 第一个数字 3 位置是 (0,0) 和值是 3 ,类似地 7 位置是 (1,0) 和值是 7
边缘类如下接受源节点和目标节点。
有向图类如下,它以python字典的形式存储边,其中key是源节点,value是目标节点的列表。通过方法addEdge向图中添加边时,它会检查节点是否作为边字典中的键存在。如果目标节点的源不是边字典中的键,则抛出“节点不在图中”错误。
将输入字符串转换为包含各个数字的列表列表。
我可以通过以下方式将节点添加到 Diagraph 对象。
10 个节点存在于边字典中。但是当我尝试使用 addEdge 方法添加边时,它会提高“节点不在图中”。谁能建议添加边缘的正确方法。字典的键是 class 的对象node
。
graph-theory - 操纵负加权有向图的边成本以允许使用 Dijkstra 算法
假设我们有一个包含正加权边和负加权边的有向图。
我知道最短路径解决方案是 Bellman-Ford 算法。
我的问题是:为什么我们不能只在所有边成本上添加一些较大的值 N 以便不再有负边,然后使用效率更高的 Dijkstra 算法?
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 代码?
networkx - 这个有向图操作需要哪种算法?
我可能想多了,遗漏了一些明显的东西,但我想知道我可以使用哪种 NetworkX 算法来实现以下目标:
给定一个有向图,例如:
以及节点列表,例如:Q1、Q2
找到所有连接到 Q1 和 Q2 的节点(或者换句话说,它们的子节点),结果如下:
哪种算法可以做到这一点?
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 的基本思想。
python - Python NetworkX - 从嵌套字典中获取有向图
我正在尝试从嵌套字典在 python 的 NetworkX 中创建一个简单的有向图,但看起来内置初始化并没有构建最终的叶节点。
玩具示例:
建筑图:
现在让我们看看里面有什么:
看起来没有添加最终节点
检查它:
看起来很合理
但:
我不确定为什么会这样?NetworkX 的文档指定:
incoming_graph_data (input graph (optional, default: None)) -- 初始化图的数据。如果 None (默认)创建一个空图。数据可以是 to_networkx_graph() 函数支持的任何格式,目前包括边缘列表、字典的字典、列表的字典等...
知道我做错了什么吗?