首页 > TAG信息列表 > graph-theory

我自己的对象使用networkx

意大利辣香肠说,我有自己的东西.我从每个意大利辣香肠都有一个边缘列表和一个意大利辣香肠列表.然后,我使用networkx构建图形.我正在尝试查找从一种意大利辣香肠到另一种意大利辣香肠的最短路径的重量.但是,出现如下错误,该错误跟踪来自networkx的内部事件,如下所示: Traceback (mo

C#-完整无向图的最有效实现

问题背景 我目前正在开发蚁群系统算法的框架.我以为我会首先尝试将它们应用于第一个问题:旅行商问题(TSP).我将在任务中使用C#. 所有TSP实例将由一个完整的无向图组成,并且每个边缘具有2个不同的权重. 题 到目前为止,我只使用了邻接列表表示形式,但我读到它们仅建议用于稀疏图.因为

python-查找图上所有边的路径

我试图在覆盖所有边缘的图形上获取路径,并且只遍历它们一次. 这意味着将只有两个“终点”点-附加的节点数为奇数.这些端点要么具有一个连接边缘,要么是回路的一部分,并具有3个连接. 因此,在下面的简单情况下,我需要以1-2-3-4-5(或5-4-3-2-1)的顺序遍历节点: 在下面更复杂的情况下,

javascript-如何使用Cytoscape.js使节点的名称与其ID不同?

我正在使用Cytoscape.js构建一个Web应用程序,以可视化蛋白质相互作用数据. 蛋白质(节点)需要具有与代表其染色体位置的字符串相对应的ID,因为这是通用的.但是,我希望将它们可视化或与它们的通用名称(而不是其ID)一起显示. 任何想法如何做到这一点? Cytoscape文档似乎没有答案.解决方

C#图形遍历-任意两个节点之间的跟踪路径

寻找一种很好的方法来跟踪两个节点之间的广度优先遍历,而又不了解任何图形.相对于“深度优先”(如果没有平移,您可以丢弃路径)在遍历期间可能有很多“开放”的可能性.解决方法:天真的方法是用源节点作为根,其所有连接作为其子节点来构建树.根据您拥有的空间量,您可能需要消除循环的

Java图形库

什么是用于处理图形的最佳Java库(特别是用于社交网络分析的Java库)?我见过荣格(Jung),但我想知道您是否还了解更多(我不需要可视化网络,只需计算即可). 谢谢解决方法:我发现jgrapht非常有用-它具有所有主要算法(例如Bellman-Ford等)

这个python代码是否采用深度优先搜索(DFS)来查找所有路径?

此代码在python official essays on graph theory中给出.这是代码: def find_all_paths(graph, start, end, path=[]): path = path + [start] if start == end: return [path] if not graph.has_key(start): return [] p

c – 具有索引2D数组的逗号运算符

我有这个算法,它是用于图论的dijkstra算法的伪代码.第一件事就是基本的for循环. visitedSet[0] = true //visitedSet is a array of bools for (int i = 1; i <= numberNodes; ++i) { distanceArray[i] = adjacencyMatrix[0,i]; //distanceArray is 1D with size of fifty

python – 二分图的所有可能的最大匹配

我使用networkx找到二分图的maximum cardinality matching. 匹配的边缘对于特定图形不是唯一的. 有没有办法找到所有最大匹配? 对于以下示例,下面的所有边可以是最大匹配: {1:2,2:1}或{1:3,3:1}或{1:4,4:1} import networkx as nx import matplotlib.pyplot as plt G = nx.MultiDiGraph()

在python中看似简单的拓扑排序实现

从here中提取我们得到了一个最小的迭代dfs例程,我把它称为最小,因为你很难进一步简化代码: def iterative_dfs(graph, start, path=[]): q = [start] while q: v = q.pop(0) if v not in path: path = path + [v] q = graph[v] +

java – 具有最大顶点数的最短路径

我想找到两个顶点之间的最短路径和一个额外的约束:可以访问max n个顶点.该图是定向的,连接的,非负权重,并且可以包含循环. 例: > n = 2的最短路径0-> 2是18 > n = 3的最短路径0-> 3是22> n = 4的最短路径0-> 3是9 到目前为止,我已经实现了Djikstras算法以获得简单的最短路径,我的想

如何计算具有加权顶点的图的最短路径?

我想弄清楚,如何计算具有加权顶点的图的最短路径.像Dijkstra和Floyd-Warshall这样的经典算法通常使用加权边缘,我没有看到如何将它们应用到我的情况(加权顶点)的方法: 我的一个想法是将图形转换为具有加权边缘的更经典的视图.这是我收到的: 这里我们有单向和双向加权边,但我仍然不确

java – 如何找到两个最广泛分离的节点之间的距离

我正在研究前几年的ACM编程竞赛问题,试图更好地解决图形问题. 我现在正在研究的是我给出了任意数量的无向图节点,它们的邻居以及连接节点的边缘的距离.我需要的是距离彼此最远的两个节点之间的距离(重量距离,而不是节点数量). 现在,我确实有以下形式的Dijkstra算法: // Dijkstra's

BFS检查c中的图是否为二分图

我正在实现一种算法来确定无向图是否为二分图.基于this pseudo-code制作了我的实现,它适用于连接的图形,但当它断开连接时,只是程序指示错误的答案.我认为如果它没有连接,那么每个不相交的子图需要一个循环.但我坚持这一点.我如何能够为我打印正确答案的代码? #include <cstdio> #i

c# – 跟踪顶点的连接并确定何时制作多边形

我正在努力研究c#中的游戏机制,它涉及连接顶点和形成多边形. 可以有任意数量的5到30个顶点.每个顶点可以用直线连接(线不能相交).当线条关闭多边形时,多边形内部将以特定颜色着色. (如果在关闭期间内部有一个点,则无法关闭多边形) 例如,下面两张图片不可能发生: 但是,这可以: 我遇

用于图论算法的Java库

是否存在用于标准图论算法的java库,如最短路径等.我特别寻找的算法是在图中找到最大的连通分量.解决方法:JUNG图库应该有这个.如果没有,那么也检查JGraphT 相关SO帖子:Good Java graph algorithm library?

python – 一个点在图形的内部或外部(顶点和边缘)?

我有一个由边{E}和顶点{V}组成的图G. {V}中的顶点以2-D坐标表示.图形是平面的,这意味着没有两条边相交. 图G有一些循环,假设一个点在图中,如果它落在G的一个循环中.一个循环的例子可能是A — B — C — A,其中A,B和C是顶点,—是边缘. 现在给出一个点(x,y),我如何确定它是在图形内部

mysql – 在数据库中存储大量图形数据结构

This question询问关于在关系数据库中存储单个图.在这种情况下,解决方案很明确:一个表用于节点,一个表用于边缘. 我有一个随着时间的推移而发展的图形数据结构,所以我想将这个图的“快照”存储在数据库中.我想有数百个这样的快照. 一种解决方案是为每个快照创建一对全新的节点和边对

用Python代表网络

我有一个顶点,如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表示循环. b与d很好. e,c和n它们共享相同的顶点f.相反,用f

在python中编码和渲染(网络)图

下面的代码不会渲染我的图表. import numpy import matplotlib.pyplot as plt import matplotlib as mpl import pylab import random import scipy from matplotlib.mlab import griddata from pylab import * from scipy import ndimage def H(x,y,gamma): val = HenonMap(x

python – 访问networkx节点和属性

我有这个GraphML文件,我已经读到了Networkx. 所以我通过以下方式访问所有节点: g.nodes() 它给了我一个字符串列表.说其中一个是“123”.然后我尝试访问节点: g["123"] 它给了我一本字典. 然后我尝试使用节点函数访问节点,如下所示: for n in g.nodes( data = True ): print

mysql – 数据库查询比在一台服务器上查找LinkedIn类型第二级连接的算法更快吗?

我有一个表与朋友id,u1,u2和约<单个mysql服务器上有500,000个条目 我想带上userA和userB并检查他们是否有共同的朋友. 做得快吗? select u2 from friends where u1 = userA and u2 IN (select u2 from friends where u1 = userB) 而不是在图表上(在一台服务器上)运行最短路径算法?

python – 给定一个非循环有向图,返回一组“在同一级别”的节点集合?

首先,我不确定这样的算法是什么,这是主要的问题 – 所以问题的第一部分是这个算法叫做什么? 基本上我有一个DiGraph(),我插入节点[1,2,3,4,5,6,7,8,9,10]和边缘([1,3],[2,3], [3,5],[4,5],[5,7],[6,7],[7,8],[7,9],[7,10]) 从这里我想知道是否有可能获得如下收集:[[1,2,4,6],[3],[5],

python – 是否有可能在图论中为节点添加权重/概率(使用networkx)

我正在使用networkx(用于python的库来处理图形).我基本上有各种边缘的节点,但是如果它使用连接最多的节点,想要看看路径会是什么样子. 我可以使用此命令查看连接数: len(G.edges(CurrentNode)) 我可以获得边数,但我不知道如何将其应用于列表作为路径.例如,我可以将此数字添加为属