我有一个依赖图,我将其表示为 a Map<Node, Collection<Node>>(用 Java 来说,或者f(Node n) -> Collection[Node]作为函数;这是从给定节点n到依赖于 的节点集合的映射n)。该图可能是循环的*。
给定一个badlist节点列表,我想解决一个可达性问题:即生成一个Map<Node, Set<Node>> badmap表示从列表中的每个节点 Nbadlist到一组节点的映射,该组节点包括 N 或传递依赖于它的其他节点。
例子:
(x -> y means node y depends on node x)
n1 -> n2
n2 -> n3
n3 -> n1
n3 -> n5
n4 -> n2
n4 -> n5
n6 -> n1
n7 -> n1
Run Code Online (Sandbox Code Playgroud)
这可以表示为邻接图{n1: [n2], n2: [n3], n3: [n1, n5], n4: [n2, n5], n6: [n1], n7: …
我正在开发一个程序,将对象分为两组,并且测量每个对象与其他对象的相似程度,并且我想找到将它们匹配在一起的最佳方法。
如果集合是由编辑距离定义的单词和距离,则集合“this”、“is”、“a”、“test”与“and”、“this”、“is”的最佳匹配, “最好”,那么我会将“this”与“this”(得分为0)匹配,“is”与“is”(得分为0),“a”与“and”(得分为0) 2)、“最佳”和“测试”(得分为 1)。
我已将问题简化为寻找最大二分匹配问题。这是一个描述:
给定一个边具有整数权重的二分图,找到一组边,使得 (a) 每个顶点在该组中只有一条边,并且 (b) 该组中的权重总和具有最大大小。
我不相信这个问题是 NP 完全的(或者,即使不是,但如果算法可能非常慢),是否有某种方法可以在一定程度上近似答案?
目前,我选择最小权重边,删除它及其连接的节点,然后重复,但这似乎不是最佳的。我考虑过将其简化为某种流程问题(就像处理正常的二分匹配一样),但在这种情况下它不起作用。
我有一个 DAG(有向无环图),它由边列表表示,例如
edges = [('a','b'),('a','c'),('b','d')]
Run Code Online (Sandbox Code Playgroud)
将给出图表
a - > b -> d
|
v
c
Run Code Online (Sandbox Code Playgroud)
我正在执行许多操作,我必须检查两个节点是否位于同一路径上(b并且d位于同一路径上,b而 和c不是来自上面的示例),这反过来又减慢了我的程序。我希望我能以某种方式遍历该图一次并保存所有路径,这样我就可以在恒定的时间内检查它。
这种加速可能吗?我将如何在 python 中实现它?
编辑:请注意,我需要检查两个方向,因此如果我有一对节点,(a,b)我需要检查atob和bto a。
python algorithm graph-traversal directed-acyclic-graphs graph-algorithm
无向图中的极小极大路径是两个顶点v、w之间的路径 ,其最小化路径上边的最大权重。
令T为给定图G=(V,E)的最小生成树。我如何证明,对于V中的任何一对顶点v, w ,在v和w之间始终存在一条完全在T上的极小极大路径。
我试图假设T上完全没有极小极大路径,但我不知道如何得出矛盾。
algorithm minimum-spanning-tree graph-algorithm data-structures
给定具有正权重的无向图,有两种边:锁定边和未锁定边.确定给定边缘是锁定边缘还是解锁边缘需要O(1).
对于给定的两个顶点s,t和正数k = O(1),如何找到s和t之间最短路径,其中包含最多 k个锁定边缘?
对于给定的两个顶点s,t和一个正数k = O(1),如何找到包含正好k个锁定边的s和t之间的最短路径?
我不知道我怎么能在这个图运行Dijkstra算法找出给定顶点之间的最短路径,以及如何改造无向图,为指导之一.
algorithm graph-theory graph graph-algorithm data-structures
如何设计一种算法,在线性时间内计算(图理论)无向,全边有重量1树的直径?树的直径由两个顶点之间的最长路径的长度给出.
知道如何解决这个问题吗?
如何修改Floyd-Warshall算法以找到维持O(V ^ 3)时间复杂度的有向图的任何负成本周期的最短路径?
我接受了一次采访,我被问到一个看似简单的算法问题:"编写一个算法,将所有可能的获胜组合归还给我." 我仍然无法找到一种有效的方法来处理这个问题.是否有一个标准算法或常见的应用于我不知道的类似问题?
graph-algorithm ×10
algorithm ×8
graph-theory ×2
combinations ×1
compare ×1
graph ×1
linked-list ×1
path ×1
pseudocode ×1
python ×1
recursion ×1
similarity ×1
tree ×1