graph-theory相关内容
我有一个简单的递归程序来查找连接的子图. 该代码通过从图中的每个未访问顶点遍历所有边(递归),并在处理过程中用"ingraph = False"标记已访问的那些边来工作. (这些图始终是无向的非加权图). 我遇到的问题是,对于大型图(子图约为100,000个顶点),python(-2.7)返回分段错误. 但这在python-2.6中仍然可以正常工作(并且仍然可以). 有人可以向我解释一
..
这是我第三次使用c ++中的邻接表创建图形.使用OOP很重要.我觉得这个问题的答案确实很简单,但是我无法修复和改进我的代码. 有: #include #include #include #include using namespace std; struct Edge { int begi
..
如果我有Di-Graph,如何检查所有节点对(a,b)是否都创建路径? 示例: 输入: v1 v2 v5 v6 v2 v3 v3 v4 v4 v5 v0 v1 我需要检查是否存在通过该图的至少一条路径,而不必再访问每个节点一次. 我已经尝试过回溯,但要获得最大的投入,将需要数小时... 具体示例: 输入时,我有边缘: {m,a}, {a,c}, {a,
..
我想知道如何确定有向图是否具有粘滞顶点,即定义为入度为n-1和出度为0的顶点. 我认为愚蠢的方法是打印图形中每个顶点的入度和出度,但这是O(m + n).我对O(n)算法感兴趣.有什么想法吗? 谢谢! 解决方案 我同意Beta,您无法通过o(n)解决此问题,因为您必须至少访问每个边缘一次以验证这是一个被卡住的节点.
..
我(在其他SO用户的帮助下)“粘合"了一个小型C程序,该程序将字符串标签映射到边缘列表数据结构中的整数标签.例如,对于输入文件 Mike Andrew Mike Jane John Jane 程序输出 1 2 1 3 4 3 但是,我映射了巨大的边缘列表文件,不幸的是,与Python替代版本相比,该程序运行非常慢.下面,我用C和Python粘贴了这两个程序.请问如何提高C程序速
..
我有一个边缘列表格式的巨大图形,其中字符串作为节点标签.我想知道将字符串映射到整数的“最佳"方法是什么.输入文件遵循以下示例: Mike Andrew Mike Jane John Jane 输出(即映射文件)应为: 1 2 1 3 4 3 下面粘贴的是C语言中的框架,该框架读取输入文件.有人可以建议我该怎么做. #include int LoadF
..
如何在visNetwork图上显式放置nodes? 或者:如何使用visNetwork或其他方式在R中重新创建该图形? 背景:最终目标是代表原因回路图来自 Vensim 文件.明确地放置节点只是第一步(关键),因为在因果循环图中,节点的视觉映射是信息的一部分(与一般图论不同).因此,如果有人对大局有所建议. “将因果回路图建模带到R",我会很高兴. 我尝试过的事情: lib
..
我已经设法创建了一个随机的无向加权图,以使用Dijkstra的算法进行测试,但是如何做到这一点,以便每个节点至少具有一个将它们连接到图的边? 我正在使用Networkx,并且图形生成器如下: import networkx as nx import random random.seed() nodes = random.randint(5,10) seed = random.rand
..
我需要定义一个谓词acyclic/1,该谓词将一个图作为输入并确定该图是否是非循环的.因此,根据我的理解 graph1(a,b). graph1(b,c). graph1(c,a). 将返回否,并且 graph2(a,b). graph2(b,c). 将返回是 我做了一个谓词,以确定图中是否有2个节点连接在一起,如果连接,它们将返回是. isConnected
..
我用Prolog写过 edge(x, y). edge(y, t). edge(t, z). edge(y, z). edge(x, z). edge(z, x). path(Start, End, Path) :- path3(Start, End, [Start], Path). path3(End, End, RPath, Path) :- reverse(RPath,
..
我有一个程序可以检索PubMed出版物的清单,并希望建立共同作者的图表,这意味着我想为每篇文章添加每位作者(如果尚不存在)作为顶点并添加无方向的边(或增加其权重). 我设法编写了该程序的第一个程序,该程序检索每个出版物的作者列表,并且理解我可以使用NetworkX库构建图形(然后将其导出到GraphML for Gephi),但无法全神贯注于将“列表列表"转换为图形. 这里是我的代码.
..
我是R中igraph包的新手.我有两组A和B,每组都有N顶点(A1, A2, ..., AN)和(B1, B2, ..., BN). A的每个元素与B的每个元素之间都有一条边,我有一个函数fWgt(Ai, Bj)返回该边在Ai和Bj之间的权重. 我一直试图在R中使用igraph包进行加权最大二分匹配,但是我无法按照igraph包来表达问题.例如,在igraph包中为maximum.bipar
..
鉴于图的邻接矩阵,我需要获取色数(最小绘制图形的每个节点所需的颜色数,以便相邻节点获得不同的颜色. 最好应该是Java算法,并且我不在乎性能. 谢谢. 编辑: 最近推出了一个修复程序,因此答案更加准确.现在它将重新检查他的位置和以前的位置. 现在出现一个新问题.提高他的“数字颜色"哪个更好?我站在其中的节点,或者我正在访问的节点(询问是否与之相邻)? public c
..
我正在努力进行逻辑编程.我有一个问题,希望大家能帮助我.不连续图通过事实以这种方式表示: h(0,1). h(1,2). h(3,4). h(3,5). 因此,有两个单独的图形组件.我想要列表表示的输出上的所有单独组件.因此,如果图中有三个单独的组件,那么将有三个列表.对于上面给定的示例,预期输出为[[0,1,2],[3,4,5]]. 解决方案 使用 iwhen/2 ,我们可以定
..
在这里尝试解决同构图问题. 分配信息: 确定2个无向图是否是同构的. 没有孤立的顶点. 顶点数少于30个 图的边缘以谓词形式给出,即 e(1, 2). f(1, 2). 我正在尝试使用以下方法: 对于每对边(即,图1和2中的每条边) 尝试绑定2个边的顶点 如果无法进行顶点绑定(即已经存在与一个顶点的另一种绑定),则回溯并尝试另一对边. 否则,添加绑定并继
..
我有一个顶点,例如dic = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'n':6, 'm':7, 'g':8},并且我有两列,分别表示这些顶点之间的关系: a a b d e f c f n f m g 我想通过边缘将第一列中的每个顶点与第二列中的对应顶点关联.所以a和a代表一个循环. b和d都可以. e,c和n共享相同的顶点f.
..
尝试将s-clique转换为s-independent集.下面是代码和最底层的"independent_set_decision(H,s)"函数是我正在努力解决的问题.我了解我需要创建图的补图,然后检查该图是否为集团.但是,我编写的函数未按预期创建图形.任何人都对该代码有什么问题有任何建议吗? # Returns a list of all the subsets of a list of
..
我想生成具有给定顶点数的所有3个正则图,以检查是否有某些属性适用于所有顶点.检查该属性很容易,但是首先我必须高效地生成图形. 有人可以帮助我生成这些图(作为邻接矩阵)还是给我一个包含这些图的文件.顶点数少于24. 谢谢 解决方案 可以将scd文件作为二进制读入python,并以与readscd.c文件相同的方式转换数据.这是一个示例: import numpy def
..
我有兴趣为优势有向图(又称锦标赛图)中的节点导出优势度量(如在优势层次中).我可以使用R和包igraph轻松构建此类图,例如 library(igraph) 创建边缘的数据框 the.froms
..
在以下将颜色映射到节点的字典中,我想绘制结果图,同时基于它们的颜色在图内将节点聚类.也就是说,如果节点4187和8285具有深红色,我希望它们在图形上彼此相邻出现. 我的字典如下: nodesWithGroup= {6: 'slateblue', 10: 'skyblue', 4109: 'lawngreen', 2062: 'mediumaquamari
..