- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想我现在明白了为什么我们不能保证原始图中最低的帖子编号是一个汇(它可能有到它之前已经访问过的顶点的出边)。
但为什么反转图表并查看最高帖子数的情况有所不同?为什么这是在原始图的汇 SCC 中查找顶点的万无一失的方法?
最佳答案
重要的是,对于由边 (A, B) 连接的两个强连通分量 A 和 B,即边入射 从 A 到 B,A 的最高帖子数总是会大于B 的最高帖子数。
从现在开始,我们将强连通分量 C 的最高后数表示为 h(C)。
But why is the case different for reversing the graph and looking at the highest post number? Why is this a foolproof way to find a vertex in the sink SCC of the original graph?
正如您所说,首先,您要查看最大 h(C)。根据第一段,入射到 C 上的所有边必须出,否则 h(C) 不会最大。
如果你现在反转这个图,所有入射到 C 上的边都必须是 incoming;他们只是被颠倒了。在 C 上运行深度优先搜索 (DFS),将产生一棵现在只有 C 的顶点的树,因为它已被“隔离”并且是一个汇。 SCC 保留了在反转后从该 SCC 内的每个顶点 v 可以到达每个顶点 u 的属性,因此 SCC 的顶点不受影响。
现在第一个 SCC 已经建立,DFS 继续到具有第二高 h(D) 的 D。根据第一段,对于任何表示为 E 的 SCC,h(D) 大于 h(E)。只有 h(C) 大于 h(D),但 C 的所有顶点都已被访问过!因此,D 是孤立的,就像 C 一样:连接 D 到任何 SCC E 的所有边都入射到 D,除了 C,所以 D 不是汇。不过 C 已经被访问过,所以 DFS 不会再次访问它。因此,整个 D 将被理解为另一个独立的、强连接的组件。
这个过程一直持续到最后一个 SCC 并产生一个森林,其中每棵树都对应一个强连接的组件。
关于algorithm - 为什么保证反向图中post数最高的会在sink SCC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48712644/
对于一个图,在找到强连通分量后,如何找到彼此有路径的 SCC 的数量?我想查找是否存在从 SCC1 到 SCC2 的路径。 最佳答案 你问了两件事: 如何找到彼此有路径的 SCC 的数量? 您可以从每
我目前有一个 Kosaraji 算法的工作实现,给定一个没有权重的有向图,将在图中打印 SCC。 我想对其进行调整,以便它也说明 SCC 之间的边缘位置。 代码如下: from collections
我一直在研究 SCC 和有关它们的算法,我看到人们几乎总是提到 Kosaraju 的算法找到了 SCC,并且还以(反向)拓扑排序对它们进行排序。 我的问题是:Tarjan 的算法是否也找到了(反向)拓
我正在尝试 openshift/minishift,我发现自己必须运行: oc edit scc privileged 并添加: - system:serviceaccount:default:rou
有一个二分图 B(E, V1, V2) 使得 e = (v1, v2) 对于 e ∈ E, v1 ∈ V1, v2 ∈ V2。 B 中的边是有向的。 我想制作一个图 G(E ∪ E', V2 ∪ V2
我想我现在明白了为什么我们不能保证原始图中最低的帖子编号是一个汇(它可能有到它之前已经访问过的顶点的出边)。 但为什么反转图表并查看最高帖子数的情况有所不同?为什么这是在原始图的汇 SCC 中查找顶点
Let G(V,E), an undirected, connected graph with no bridges at all. Describe an algorithm which direc
以下问题来自Skiena: Adding a single directed edge to a directed graph can reduce the number of weakly conn
是否可以手动将 SCC 附加到整个函数?例如,如何将 SCC 附加到下面的 f? f x = g x where g x = ... 如果我写 f x = {-# SCC f #-} g x y
这是我想显示的图像,因为如果没有它,将很难解释我想要什么 这是按钮代码: self.exitBtn = QtGui.QPushButton(self) self.exitBtn.setGeometry
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我正在尝试在我的 openshift 项目中运行 elasticsearch 容器。 我有错误: Privileged containers are not allowed capabilities.
我有一个包含近 100 万个节点的图,我正在其上计算强连接组件。我已将虚拟机的堆大小增加到 10240 mb,但它仍然抛出此异常: Error: 875714 Exception in thread
谁能给我解释一下 Kosaraju 寻找连通分量的算法背后的逻辑? 我已阅读 description ,尽管我不明白反转图上的 DFS 如何检测强连通分量的数量。 def dfs(visited, s
我从客户那里继承了一个 ASP.Net 2.0(文件系统)Web 项目,近年来有几家不同的公司参与了这个项目。该项目已从一家公司移交给另一家公司,最后才落到我手上。 所以现在,正如您可以想象的那样,代
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我正在阅读 Donal B.Johnson 关于在有向图中查找所有基本电路的论文,http://www.cs.tufts.edu/comp/150GA/homeworks/hw1/Johnson%20
假设我们有一个有向图,它不是一个完整的图并且有多个 SCC。我想知道如果我们转置图形并使用 Kosaraju 算法,强连通分量的模式是否会改变?通过说“转置图形”我的意思是翻转边缘的方向。如果我们尝试
Kosaraju 的算法陈述如下: #Input is graph G 1-define G_rev (links in reversed order) 2-Find the finishing ti
我是一名优秀的程序员,十分优秀!