graph-theory相关内容

以节点之间的链接绘制圆形节点网络

我想绘制一个节点的圆形图,其中某些节点之间有链接.以下是社交网络图表中的一些示例: (来源:wrightresult.com) (来源:twit88.com) 如何使用 MATLAB 完成此操作?是否可以不安装单独的软件包? 解决方案 这是您可以随心所欲的一种方法.首先,在你感兴趣的圆上生成点 clear;theta=linspace(0,2*pi,31);theta= ..
发布时间:2021-12-24 14:26:15 其他开发

在无向图中找到所有无弦环

如何在无向图中找到所有无弦环? 例如,给定图表 0 --- 1||\||\4 --- 3 - 2 算法应该返回 1-2-3 和 0-1-3-4,但永远不会返回 0-1-2-3-4. (注意:[1] 这个问题与 在平面图中寻找小环 因为该图不一定是平面图.[2] 我已经阅读了论文 根据排除原理生成所有循环、无弦循环和哈密顿循环 但我不明白他们在做什么:).[3] 我试过 CYPATH ..
发布时间:2021-12-24 14:20:19 其他开发

是否有图中社区检测算法的实现?

我正在寻找社区检测算法的实现,例如 Girvan-Newman 算法 (2002).我访问了该领域的几位研究人员(Newman、Santo 等)的网站,但找不到任何代码.我想有人发布了这些算法的实现(甚至可能是工具包?),但我似乎找不到. 解决方案 社区检测算法有时是库的一部分(例如 JUNG 对于 java) 或工具(请参阅 Gephi).当作者发布新方法时,他们有时会提供他们的代码.例 ..
发布时间:2021-12-24 14:17:08 其他开发

Python中最有效的图数据结构是什么?

我需要能够在 python 中操作一个大的(10^7 个节点)图.每个节点/边对应的数据是最少的,比如少量的字符串.就内存和速度而言,最有效的方法是什么? dict 的 dict 更灵活,更容易实现,但我直觉地希望列表列表更快.list 选项还要求我将数据与结构分开,而 dicts 将允许这样的东西: graph[I][J]["Property"]="value" 你有什么建议? ..
发布时间:2021-12-22 08:16:37 Python

示例有向图和拓扑排序代码

有谁知道我可以在哪里获得有向图的示例实现和在有向图上执行拓扑排序的示例代码?(最好使用 Java) 解决方案 这里是 关于拓扑排序的维基百科页面: import java.util.ArrayList;导入 java.util.Arrays;导入 java.util.HashSet;导入 java.util.Iterator;公共类图{静态类节点{公共最终字符串名称;公共最终 HashS ..
发布时间:2021-12-22 00:06:27 Java开发

广度优先搜索有什么用?

通常,当我不得不遍历图形时,我总是使用深度优先搜索,因为空间复杂度较低.老实说,我从未见过需要广度优先搜索的情况,尽管我的经验非常有限. 什么时候使用广度优先搜索有意义? 更新:我想我的答案 此处 显示了我使用 BFS(因为我认为是 DFS)的情况.不过,我仍然很想知道,为什么它在这种情况下有用. 解决方案 当您想通过遍历尽可能少的边到达节点时,即当您想在未加权的图中找到最短路 ..

排序算法:Magento 结帐总额排序错误导致运费计算错误

在 Magento 中有一个功能,您可以通过指定运行总计之前和之后的总计来定义总计计算的顺序. 我添加了一个自定义总数,如果我将以下几行添加到 config.xml,排序是错误的.错误的意思是:tax_shipping before shipping.这会导致运费税金增加两次. 但这违反了条件 tax_shipping之后:航运 我的猜测:在全套规则中肯定有一些矛盾.但是我怎么才能 ..
发布时间:2021-12-19 08:43:33 PHP

寻找邻接矩阵图的连通分量

我有一个由 Java 中的邻接矩阵表示的随机图,如何在该图中找到连通分量(子图)? 我找到了 BFS 和 DFS,但不确定它们是否合适,我也无法弄清楚如何为邻接矩阵实现它们. 有什么想法吗? 解决方案 您需要分配标记 - 长度为 n 的 int 数组,其中 n 是图中的顶点数并用零填充.然后: 1) 对于 BFS,请执行以下操作: 组件 = 0;枚举所有顶点,如果对于顶 ..
发布时间:2021-12-18 23:51:49 其他开发

在 MATLAB 中构建邻接矩阵

考虑排列在大小为 N×M 的网格上的一组点.我正在尝试构建邻接矩阵,使得相邻点相连. 例如,在带有图形的 3x3 网格中: 1-2-3|||4-5-6|||7-8-9 我们应该有对应的邻接矩阵: +---+-----------------------------------------------------+||1 2 3 4 5 6 7 8 9 |+---+----------- ..
发布时间:2021-12-08 14:33:10 其他开发

计算排序序列的最小交换次数

我正在将一个没有相同数字的整数序列(不失一般性,让我们假设该序列是 1,2,...,n 的排列)排序为其自然递增顺序(即 1,2,...,n).我正在考虑以最少的交换次数直接交换元素(无论元素的位置如何;换句话说,交换对任何两个元素都有效)(以下可能是一个可行的解决方案): 交换两个元素,约束条件是它们中的一个或两个应该交换到正确的位置.直到每个元素都放在正确的位置. 但我不知道如何从 ..
发布时间:2021-12-06 20:07:25 其他开发

在图中找到访问某些节点的最短路径

我有一个大约有 100 个节点和大约 200 条边的无向图.一个节点标记为“开始",一个标记为“结束",大约有十几个标记为“必须通过". 我需要找到通过此图的最短路径,该路径从“开始"开始,到“结束"结束,并通过所有“必须通过"节点(以任何顺序). ( http://3e.org/local/maize-graph.png/http://3e.org/local/maize-graph ..
发布时间:2021-12-06 19:51:47 其他开发

无向图中的循环

给定一个具有 n 个顶点 (|V| = n),你如何在O(n)中找到它是否包含一个循环? 解决方案 我认为深度优先搜索可以解决这个问题.如果一条未探索的边导致之前访问过的节点,则该图包含一个循环.这个条件也使它成为 O(n),因为您可以探索最大 n 条边,而无需将其设置为 true 或留下任何未探索的边. ..
发布时间:2021-12-06 19:47:02 其他开发

查找两个图节点之间的所有路径

我正在研究 Dijkstras 算法的实现,以检索路由网络上互连节点之间的最短路径.我有实施工作.当我将起始节点传递给算法时,它返回所有节点的所有最短路径. 我的问题:如何检索从节点 A 到节点 G 的所有可能路径,甚至从节点 A 返回到节点 A 的所有可能路径 解决方案 寻找所有可能的路径是一个难题,因为简单路径的数量是指数级的.即使找到第 k 个最短路径 [或最长路径] 也是 N ..

查找有向图中的所有循环

如何在有向图中找到(迭代)从/到给定节点的所有循环? 例如,我想要这样的东西: A->B->AA->B->C->A 但不是:B->C->B 解决方案 我在搜索中找到了这个页面,由于循环与强连通分量不同,我一直在搜索,最后,我找到了一个有效的算法,列出了所有有向图的(基本)循环.它来自 Donald B. Johnson,该论文可以在以下链接中找到: http://www.c ..
发布时间:2021-12-06 19:16:03 其他开发

您如何使用 A-Star 或 Dijkstra 算法解决 15 难题?

我在我的一本 AI 书籍中读到,在模拟或游戏中用于寻路的流行算法(A-Star、Dijkstra)也用于解决众所周知的“15 拼图". 谁能给我一些关于如何将 15 拼图简化为节点和边图以便我可以应用其中一种算法的指示? 如果我将图中的每个节点都视为一个游戏状态,那这棵树会不会变得很大?或者这只是这样做的方式? 解决方案 对于 A-Star 的 15 谜题来说,一个很好的启发式 ..

检测有向图中循环的最佳算法

检测有向图中所有环的最有效算法是什么? 我有一个表示需要执行的作业时间表的有向图,一个作业是一个节点,一个依赖项是一个边.我需要检测导致循环依赖关系的图中循环的错误情况. 解决方案 Tarjan's strong连通分量算法具有O(|E| + |V|)时间复杂度. 有关其他算法,请参阅维基百科上的强连通分量. ..
发布时间:2021-11-26 23:53:28 其他开发

绘制网络图

我正在尝试在 ASP 网页上绘制图形.我希望 API 会有所帮助,但到目前为止我还没有找到. 该图包含标记的节点和未标记的有向边.理想的输出类似于 this. 有没有人知道任何可以提供帮助的预先构建的东西? 解决方案 绝对graphviz.您指向的维基百科链接上的图像是在 graphviz 中制作的.从其描述页面看,图形描述文件如下所示: graph untitled {图[ ..
发布时间:2021-11-15 02:22:35 C#/.NET

寻找一个简单的 Java API 来创建图形(边 + 节点)

我正在尝试寻找一个简单的 Java API 来创建图形关系.它应该有一些功能,例如 addEdge()、addNode()、isConnected(node1, node2)、findPaths(node1, node2) 等.我不需要 UI,只需要逻辑. 我找到了一堆学术项目,但似乎没有一个是“定义图 API". 有人知道这样的 API 吗? 解决方案 JGraphT 听起来 ..
发布时间:2021-11-15 00:35:22 Java开发

如何使用 Python/pyspark 运行 graphx?

我正在尝试使用 pyspark 通过 Python 运行 Spark graphx.我的安装看起来是正确的,因为我能够很好地运行 pyspark 教程和(Java)GraphX 教程.大概因为 GraphX 是 Spark 的一部分,pyspark 应该能够连接它,对吗? 这里是pyspark的教程:http://spark.apache.org/docs/0.9.0/quick-start ..
发布时间:2021-11-12 05:40:27 Python

用最小割将图分成相同大小的不相交集

是否有任何算法或代码将图节点划分为满足以下条件的两个或多个不相交的集合:首先,只允许移除边缘.其次,边缘被加权,那些将被删除的必须具有最小权重(最小切割算法).第三,期望的不相交集合的大小尽可能长. 解决方案 看起来您正在尝试解决最小二分问题,其中给定图 G,您希望将 V[G] 划分为两个不相交的子集A 和 B 的大小相等,使得 A 和 B 之间的边的权重之和最小.不幸的是,最小-二分问题 ..
发布时间:2021-10-26 18:49:05 其他开发