453得票14回答
检测有向图中循环的最佳算法

有没有一种高效的算法可以检测有向图中的循环? 我有一个表示需要执行的作业安排的有向图,其中作业是节点,依赖关系是边。我需要检测出图中存在循环依赖导致错误的情况。

229得票4回答
GraphViz - 如何连接子图?

在GraphViz的DOT语言中,我正试图表示一个依赖图。我需要在容器内部放置节点,并能够使节点和/或容器依赖于其他节点和/或容器。我使用subgraph来表示我的容器。节点链接完全没有问题,但我无法弄清如何连接子图。给定以下程序,我需要能够用箭头连接cluster_1和cluster_2,但...

161得票6回答
如何使用Python中的NetworkX绘制有向图?

我有一些来自脚本的节点,我想将它们映射到一个图上。在下面的示例中,我想使用箭头从A到D,并且可能也要对边进行颜色标记(红色或其他颜色)。 基本上,这就像是从A到D的路径,当存在所有其他节点时。你可以把每个节点想象成城市,在从A到D的旅程中需要方向指引(箭头头部)。 以下代码构建了该图imp...

91得票12回答
如何检查有向图是否为无环图?

我如何检查有向图是否为无环图?该算法名称是什么?如果有参考资料将不胜感激。

46得票4回答
图形序列化

我正在寻找一个简单的算法来“序列化”有向图。特别是我有一组具有执行顺序相互依赖性的文件,并且我想在编译时找到正确的顺序。我知道这必须是一个相当普遍的事情 - 编译器一直在做 - 但是今天我的谷歌搜索能力很弱。这个“go-to”算法是什么?

40得票1回答
在networkx(Python)中获取有向图的根(头部)

我在一个项目中试图使用networkx进行一些图形表示,但不确定如何完成几个看似简单的任务。我创建了一个有许多节点和边的有向图,其中只有一个根元素。现在,我想从根开始遍历每个元素的子节点,并从它们中提取一些信息。如何获取这个DiGraph的根元素? 所以代码大概是这样的:#This is ...

40得票5回答
如何检测向有向图中添加边是否会导致出现环?

我发现了等待图(wait-for graphs),我想知道,是否有有效的算法可以检测在有向图中添加一条边是否会导致出现环路? 所讨论的图是可变的(可以添加或删除节点和边)。我们只需要知道是否存在环路即可(以防止添加一个冒犯边)。 当然,可以使用计算强连通分量(例如Tarjan算法)的算法来...

33得票3回答
Tarjan算法在C#中的环检测帮助

以下是 tarjan's cycle detection 的 C# 实现代码。 该算法的详细说明可参考: http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithmpublic class T...

32得票14回答
.NET中有哪些选项可用于有向或无向图的布局?

这里所说的图形指的是以下图片相似的东西: 理想解决方案应该满足以下条件: 只使用托管代码 可以输出为位图图像 可以输出到WPF元素 包括某种交互式表面,用于显示支持缩放、平移和节点重新组织的图形 如果有可能用作此类工作的起点,请告知我相关项目。如果需要进行一些开发来实现我想要...

29得票3回答
在networkx中查找图对象内的单独图形

我有一个庞大的图形数据集 - 假设它像这样,但规模更大:1 -> 2 3 -> 4 1、2、3、4是节点,箭头表示有向边。假设它们都在同一个图对象中:import networkx as nx G = nx.DiGraph() G.add_nodes_from([1,2,3,4])...