13得票2回答
C++图论库列表

我即将开始一项有关自动机和图论的科学项目,正在寻找一个支持以下功能的图形库: 有向/无向图 图同构测试(即图g1与g2同构吗?) 子图同构测试(即图g1与g2的子图同构吗?) 图搜索、访问等 可能需要快速计算 我知道Boost Graph Library,但从文档中理解,它缺少子图测试...

12得票1回答
如何在dot中布局多个子图到一个主图中?

我正在尝试使用 dot 创建一张图表。目前我已经创建了下面所示的图表,并提供了代码。 代码: digraph top { node [shape=record ,penwidth = 2,fontsize=25]; graph [labeljust=l] ratio="fi...

12得票1回答
图形 - 如何找到最大的诱导子图H,使得H中的每个顶点的度数≥k

这是一个关于图的练习题。 给定一个有n个点和m条边的无向图G,以及一个整数k,设计一个O(m+n)算法,找出G的最大诱导子图H,满足H中每个顶点的度≥k,或者证明不存在这样的图。 图G的诱导子图F = (U, R) 是指由G的一个子集U构成的子图,并且包含U中所有在G中相邻的点之...

10得票5回答
使用igraph从不同大小的子图中进行采样

我有一个igraph对象mygraph,其中包含大约10,000个节点和大约145,000条边,我需要从这个图形中创建许多具有不同大小的子图。 我需要创建一系列指定大小的子图(从5个节点到500个节点),每个子图中所有节点都相互连接。我需要为每个大小创建大约1,000个子图(即大小为5的10...

10得票2回答
如何使用networkx从给定的图中提取所有可能的诱导子图?

我想知道是否可以使用networkx从一个输入的大型图中提取出特定节点数的引出子图(graphlets),或者是否有其他软件包可以完成这个任务?例如,如果我有一个用networkx邻接表格式表示的大型图, 图G: 1 2 3 7 2 1 4 3 1 4 6 5 4 2 3 5 5 3 4 ...

10得票3回答
图形中的模式匹配

我正在寻找一种工具/算法,用于在有向图中搜索与指定模式相对应的部分,例如: A->B->C或A<->B->C 请建议我搜索的方向。 我指的是模式匹配。我需要找到所有与指定模式匹配的节点和边的组合。

9得票4回答
Graphviz: 如何旋转节点(或子图)?

我正在尝试使一个节点(或子图,包围一个节点-无论哪个更容易)旋转,就像这张图片中所示:。(请注意,如果“B”标签被旋转了,对我来说并不重要-只有“verti-*”记录中的文本[或整个记录节点]如图所示被旋转即可)。 然而,我能找到的最接近的是以下dot代码: digraph graphna...

9得票2回答
如何对子图/嵌套图进行拓扑排序?

我创建了一个轻量级的图形库,其中包括3个对象(Vertex,Edge,Graph)和1个函数(topo_sort),其代码如下: class DAGError(Exception): pass def topo_sort(graph): sorted_list = [] d...

9得票2回答
NetworkX:通过边和节点属性进行子图同构

假设我有2个图A和B,我想知道A是否是B的子图。节点包含属性,例如“尺寸”和“材料”。 当我运行: GM = networkx.algorithms.isomorphism.GraphMatcher(B,A) print networkx.algorithms.isomorphism.su...

8得票3回答
通过节点创建 NetworkX DiGraph 子图(DiGraph)

我希望能够通过节点获取子图(红色区域): 所得到的子图由从输入节点可达的所有节点组成。 例如G.subgraph(3)返回一个新的有向图,其中包含红色区域中的所有节点。 例如我创建了这样一张有向图: import networkx as nx G = nx.DiGraph() ...