graph-algorithm相关内容

找到所有的路径,形成简单的周期在一个无向图

我有一些麻烦,写一个算法返回所有的无向图形成简单的循环路径。 我正在考虑在首先从顶点A,这将是周期的开始,为图下方 A,B,E,G,F A,B,E,D,F A,B,C,D,F A,B,C,D,E,G,F 额外的周期将是 B,C,D,E F,D,E,G ,但这些可能被找到,例如,通过再次调用相同的算法,但是从B和从D-,分别开始。 该图显示如下 - 我目前的做法 ..
发布时间:2015-11-30 15:12:47 C/C++

含有一组给定的节点最小连接子图

我有一个加权,连接图。我想找到一个连通子是肯定包括一组特定节点,并为一些额外的可能。这怎么可能实现呢? 为了保险起见,我将使用更多的precise语言重述问题。设G(V,E)是一个加权,无向,连接图。设N是V的某个子集,什么是找到最小连通子G'(V',E'),G(V,E),使得N是V的子集'?最好的方法 逼近的罚款。 解决方案 我想不出一个高效的算法来找到最佳的解决方案,但假设你的输入图形 ..
发布时间:2015-11-30 15:09:40 C/C++

如何选择一个整数线性规划求解?

我是新手的整数线性规划。 我打算使用一个整数线性规划求解来解决我的组合优化问题。 我比较熟悉的一个IDE C ++ /面向对象编程。 现在我使用NetBeans与Cygwin来写我的应用程序的大部分时间。 请问是否有一个简单的使用ILP求解给我吗? 或者,这取决于我想要解决这个问题?我试图做一些资源映射优化。请让我知道是否需要任何进一步的信息。 非常感谢你,卡西。 解决方案 如果你想要的是 ..

Eppstein的算法和日元的算法对于k的最短路径

我想正是这些算法是如何工作的理解,但我一直无法找到一个简单的解释。我将非常AP preciate,如果有人可以提供或指向我的这些算法更易于理解比原始论文的描述说明。谢谢你。 解决方案 首先让我为你提供你在谈论的文件的链接。 Eppstein的造纸:甄子丹的文章: J. Y.日元,“寻找在K最短无环路径在网络中,”管理 科学,第17,没有。 11,第712-716,1971年 下面是我的颜算 ..
发布时间:2015-11-30 15:07:28 C/C++

算法的说明寻找铰接点或图形的分割点

我已经搜查了网,但没有找到DFS算法的任何解释查找图的所有关节顶点。即使是没有的wiki页面:( 从读书的时候,我得从这里了解基本的事实。 PDF 有一个可变的了,在这实际上是在寻找回来的边缘,寻找最接近和至上节点对根的每个节点。加工边后,它会被发现。 但 我没有得到如何找到这个向下放大器;截至变量在每个节点中的DFS。这是什么变量做什么呢? 请解释算法 感谢 解决方案 查找吐字顶 ..
发布时间:2015-11-30 15:02:59 C/C++

灌装2背包的最佳方法是什么?

的动态规划算法以最佳填充背包行之有效在一个背包的情况下。但有一个有效的已知算法,将最佳的填充2背包(容量可以不等)? 我曾尝试以下两种方法和他们都不是正确的。 使用原来的DP算法来填空的话就是背包,然后填写其他的背包先填充第一个背包。 首先填写的尺寸W1 + W2一个背包,然后将溶液分成两个解决方案(其中,W1和W2是两个背包的能力)。 问题陈述(另见背包问题的在Wikipedia): ..

Hopcroft - 卡普算法在Python

我想实现的 Hopcroft卡普算法 Python中使用networkx为图再presentation。 目前我就这样的: #Algorithms为二部图 进口networkx为NX 进口藏品 类HopcroftKarp(对象): INFINITY = -1 高清__init __(个体经营,G): self.G = G 高清比赛(个体经营): ..
发布时间:2015-11-30 14:53:58 Python

算法来解决版本范围基于依赖

我有一个依赖的算法有问题,依赖类似于到Maven的依赖,但它是一个基于严格的版本范围。 例如: 成分A,版​​本1取决于:B组份,版本1〜3;和组分C,版本2〜3 D成分,第1版取决于:B组,版本2〜4;和C成分,版本1〜2 现在,我想要得到的依赖关系时,我想安装的组件A,版本1和D成分,第1版,因为它们都是依赖成分B上,C所以我需要一个正确的算法来获得正确版本的B和ç 进一步,我 ..
发布时间:2015-11-30 14:52:21 C/C++

算法在DAG中寻找一个Hamilton路

我指的是Skienna图书的算法。 测试的问题图表是否包含汉弥尔顿路径是 NP-硬,其中汉弥尔顿路径 P 是访问每个顶点恰好一次的路径。有不必是G中从结束顶点的边缘到P的起始顶点,不像在汉密尔顿的周期问题 由于有向无环图G( DAG ),举一个 O(N + M)时间算法测试是否包含了哈密尔顿路径。 我的做法, 我打算使用 DFS 和拓扑排序。但我不知道如何连接解决问题的两个概念。如何能拓扑 ..

最短路径中的两点之间的网格。使用catch

我有这个问题,我必须要找到从A点(始终左上)的N×M个网格的最短路径只向右移动或向下到点B(总右下)。听起来很简单,是吗?那么这里的渔获:我只能继续前进的瓷砖我此刻坐在上显示的号码。让我举例说明: 2 5 1 2 9 2 5 3 3 3 1 1 4 8 2 7 在此4x4网格的最短路径将采取3个步骤,从顶部行走左节点2至3,并从那里3节点权1,然后1节点下到目标 [2] 5 1 2 ..
发布时间:2015-11-30 14:37:25 C/C++开发

我如何使用A *算法找到的第100最短路径?

我 如何使用A *算法找到的第100最短路径? 解决方案 找到第k最短路径的问题是 NP -Hard ,所以任何修改A级明星,会做什么后,你是 - 将指数在输入的尺寸 证明: (注:我将显示在简单的路径) 假设你有一个运行在多项式时间内,返回 k的长度的多项式算法的最短路径让算法是 A(G, K) 路径的最大数量为 N!,并通过在范围应用二进制搜索[1,N!] 找长度的最短路径 N ..
发布时间:2015-11-30 14:33:11 C/C++

就是有一个从城市中没有比X天以上的路线B市?

我在一家贸易公司的采访中,有人问我这个问题, 您旅行防空火炮的状态在公交车,公交车可以停在任何C可能的城市,你需要找到一种方法,从城市到走至B城。有B总量公交车,每一个两个城市之间的旅行。所有公共汽车旅行,每天碱,例如每个总线x叶天D1一些城市c1和到达另一天D2(D2> D1)的另一城市B1。假设,如果你在第一天为d的城市抵达,您可以捕捉任何总线留在d天或之后的城市。 正在给出A1,B1,d ..
发布时间:2015-11-30 14:33:06 C/C++

有效地找到所有连接子图

是否有一个有效的(*)算法来找到所有的连接(感应)无向连通顶点标记的图的子图? (*)予AP preciate的是,在一般情况下,任何这样的算法可以具有O(2 ^ n)的复杂性,因为,对于派(KN),有2的n次方的连通子。然而,图我通常处理将有少得多的连通子,所以我在寻找一种方式来生成它们,而不必考虑所有2 ^ N子图,扔掉那些没有连接(如解决方案这个问题)。 这已运行时间这是线性的解的数目( ..
发布时间:2015-11-30 14:31:01 C/C++

算法图的直径?

如果你有一个图,并需要找到它的直径(也就是两个节点之间的最大距离),你怎么能做到这一点在 O(日志V *(V + E) )的复杂性。 维基百科说,你可以做到这一点使用 Dijkstra算法 与二元堆。 但我不明白这是如何工作。有人能解释吗? 或显示一个伪code? 解决方案 对于一般的图形 G =(V,E)没有为O(log V *(V + E))时间复杂度闻名计算口径的算法。 目前最好的解 ..
发布时间:2015-11-30 14:28:54 C/C++

如何找到在树上的最短路径简单的线性时间呢?

下面是瓦齐拉尼从算法的书有问题 输入到这个问题是一个树T与边缘整数权重。权重可以是负的, 零或正。举一个线性时间算法找到最短路径简单的T的长度 路径是在路径的边的权重的总和。路径是简单的,如果没有顶点重复。注意 该路径的端点是不受约束 提示:这是非常相似的发现最大的独立集合在一棵树的问题 我该如何解决这个问题的线性时间? 下面是我的算法,但我不知道它是线性的时间,因为它什么比不同深度优 ..

什么是疏与密图之间的区别?

我正在读的方式来重新present图在计算机内存中。我的理解是非常重present稀疏图由邻接表和密集的图形由邻接矩阵。不过,我想明白疏与密图之间的主要区别是什么? 解决方案 密图为图中的边数是接近边缘的最大数目。 稀疏图是曲线图,在其中边的数目为接近边缘的最小数量。稀疏图可以是断开图表。 ..
发布时间:2015-11-30 14:22:57 C/C++

如何找到在Matlab连接的组件?

数组A = 2 3 2 5 4 8 5 6 7 8 我想获得的结果为“conidx = [2 3 5 6]和[4 7 8]”。 之一的值的[2 3]存在于第2行, 之一的值的[2 5]存在于第四行中, 因此​​[2 3],[2 5]和[5 6]相连接, 我终于可以得到连接索引为[2 3 5 6。 ,否则的值中的一个[4 8]存在于第五行中, 所以[4 ..
发布时间:2015-11-30 14:07:41 C/C++

计算目标数从数字一组

我的工作,要求我这样的家庭作业问题: Tiven一有限组数字,以及一个目标数量,发现如果设置可以在使用基本的数学运算(加,子,多重峰格),并使用每个数字的集合来计算所述目标数量的正是一次(所以我需要用尽下集)。这要与递归方法来实现。 因此​​,举例来说,如果我有一组 {1,2,3,4} 和目标10,那么我可以得到它使用 ((3 * 4) - 2)/ 1 = 10。 我想 ..
发布时间:2015-11-30 14:01:58 C/C++

使用什么样的流量免费类游戏随机水平创造?

我需要一些建议。我正在开发类似的免费流量,其中游戏键盘是由一个网格和色点的游戏,用户必须连接相同颜色的圆点在一起,没有重叠的其他线路,并使用了所有的自由空间中板。 我的问题是关于平创作。我希望做随机生成的水平(与至少应该能够自行解决,以便它可以给玩家提示)和我在一个树桩为使用什么算法。有什么建议? 注:图像显示流动自由的目标,这是我开发的目标相同。 感谢您的帮助。 :) 解决方案 假 ..
发布时间:2015-11-30 13:55:56 C/C++