cost 128 ms
如何分解图中的强连通分量(SCC)以获得JavaScript中越来越小的嵌套循环? - How to break down Strongly Connected Components (SCC) in a graph to obtain smaller and smaller nested cycles in JavaScript?

所以我一直想知道如何将具有嵌套循环的复杂图转换为简单的有向无环图(DAG)。 我想我找到了解决方案(不是 100% 确定)。 解决方案是使用我在 JavaScript 中从此处借用的 Kosaraju 算法,并使其在第一个链接的复杂图形上运行。 下面的代码隔离了这些 SCC: 问题是, DJIH ...

python图形反转/反转 - python graph inversion/reversal

你好,stackoverflowians, 我正在尝试实现 kosaraju 的算法,这需要反转 og 定向(在我的情况下是加权)图。 我已经使用边缘列表和原始类型成功地处理了这个问题(如果那是 python 的术语,请原谅,如果这在技术上是不正确的)。 但是,我在使用邻接列表时遇到了问题 尝试创 ...

遍历 Class object 列表属性 - Iterating through Class object list attribute

希望有人在这里有所了解。 Kosaraju 算法实现的前半部分,带有图和节点 class。 我正在遍历一个节点列表,每个节点都有一个头列表和一个尾列表,以允许向前或向后移动。 当您在 Graph 中移动时,会explored一个新探索的顶点,然后您访问head_list : 有趣的是i.head_ ...

为什么 kosaraju 算法有效,它背后的想法是什么,这是一个正确的实现吗? - why does kosaraju algorithm works and what is the idea behind it and is this a correct implementation?

为什么我们要创建图形的转置,然后在第二遍中对转置运行 dfs。我试过在线阅读正确性证明http://www.jeffreykarres.com/blog/kosaraju/但不明白是有一些替代方法可以做到这一点,这很容易理解 这是我对算法的实现,它以顶点和边的数量作为输入,然后以有向边作为输入(顶点 ...

从 Kosaraju 算法构建内核 DAG - Constructing Kernel DAG from Kosaraju's Algorithm

我目前正在学习 Kleinberg 和 Tardos 在 Algorithm Design 一书中展示的不同算法。 我已经完成了 Kosaraju-Sharir 算法的实现,现在我正在尝试构建一个基于强连接组件的内核 DAG。 我不确定如何实现将执行此操作的代码。 目前,我有一个名为 display ...

Kosaraju 算法 - 计算 SCC - Kosaraju algorithm - computing SCCs

对于给定的有向图G ,我需要使用 Kosaraju 算法计算其强连通分量 (SCC)。 据我了解,算法的步骤如下: 让G rev = G将所有弧反转在G rev 上运行DFS (深度优先搜索)以计算节点的完成时间在G上运行DFS以发现 SCC 我已经设法找到所有节点的正确完成时间。 我部分理解我应 ...

为什么我的 C++14 KosaRaju 算法在类似的编写代码运行得更快时得到 TLE - Why my C++14 KosaRaju algo getting TLE when a similar written code runs much faster

TLE 代码在 2.1 秒内完成。 我也通过引用传递了很多东西,但它仍然抛出一个 TLE。 为什么这段代码要花这么多时间? 这是hackerearth的问题: https://www.hackerearth.com/problem/algorithm/falling-dominos-49b1e ...

2-SAT变量值 - 2-SAT variable values

2-SAT问题,为变量求值 我正在使用此解决方案来查找给定公式的可满足性。 (通过检查SCC)。 如果公式是可满足的,是否有任何有效的方法(在我的情况下,有效的方法并不比多项式时间差)如何找到每个变量的值? 它不一定是C ++,我只是使用相同的算法。 ...

Kosaraju的SCC算法,非递归 - Kosaraju's Algorithm for SCCs, non-recursive

我有一个Kosaraju算法的实现,可以在Python中找到SCC。 下面的代码包含一个递归(适用于小型测试用例)版本和一个非递归版本(由于实际数据集的大小,最终需要使用该版本)。 我已经在一些测试数据集上同时运行了递归和非递归版本,并获得了正确的答案。 但是,在我最终需要使用的更大数 ...

带有访问后排序的图形上的迭代DFS - Iterative DFS on graph with post-visit ordering

我目前正在尝试在有向图上实现Kosaraju的算法,以查找所有强连接的组件。 我非常了解此算法的工作原理,但是在获取DFS结果的访问后顺序时遇到一些问题。 现在,我的DFS实现的伪代码如下: [编辑]:我终于得到了一个DFS版本,并带有事后访问命令作为输出。 我考虑过每当该节 ...

Kosaraju的算法可以找到SCC,但要跟踪SCC之间的边缘? - Kosaraju's Algorithm for finding SCCs but keep track of edge between SCCs?

我目前有一个Kosaraji算法的有效实现,给定没有权重的有向图,它将在图形中打印SCC。 我想对其进行调整,使其也能说明SCC之间的边缘在哪里。 这是代码: 对于给定的图形: {1,2,3}-> {8,7,9} {1,2,3}-> {4,5,6} 意 ...

Kosaraju 算法的完成时间可以从原始图而不是反向图生成吗? - Can the finishing times for Kosaraju's algorithm be generated from the original graph, not the reverse graph?

在 Kosaraju 的算法中,完成时间是从反向图生成的。 然后,通过执行 DFS 从原始图中发现强连通分量,从较早生成的最大完成时间开始到最低完成时间。 Kosaraju 算法的完成时间可以从原始图生成吗? 那么,是否可以通过DFS从最短完成时间到最长完成时间发现强连通分量呢? 在我看来,情 ...

非递归Kosaraju的两遍算法实现需要永远在大型数据集上执行 - Non recursive Kosaraju's two pass algorithm implementation taking forever to execute on a large data set

我把这个编码为一个已经超过截止日期的作业。 对于各种较小的测试用例,此实现完全正常,并在图中显示5个最大的强连接组件的大小。 但是当我在约875714个顶点的赋值数据集上运行它时,似乎永远执行。 (60分钟后甚至没有出现在第一个DFS通行证中) 我已经使用了DFS例 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM