- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Bron–Kerbosch algorithm是一种列出图的所有最大派系的方法。我最近成功地实现了这个算法只是为了好玩。缺点是该算法是递归的,因此只能在小图上运行,直到堆栈溢出。
应该可以使算法完全迭代。考虑维基百科上的基本版本(无旋转)。算法的迭代版本在伪代码中是什么样子的?有描述吗?
我正在想象一个堆栈数据结构来模拟递归。我还应该有一个循环来测试 P 和 X 是否为空,但我没有看到完整的答案。
最佳答案
The recursive version is given in Wikipedia像这样:
BronKerbosch1(R, P, X):
if P and X are both empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch1(R ⋃ {v}, P ⋂ N(v), X ⋂ N(v))
P := P \ {v}
X := X ⋃ {v}
为了模拟递归,我们只需要使用堆栈跟踪三个变量:
BronKerbosch(P):
S := empty stack
S.push({}, P, {})
while S is not empty:
R, P, X := S.pop()
if P and X are both empty:
report R as a maximal clique
if P is not empty:
v := some vertex in P
S.push(R, P \ {v}, X ⋃ {v})
S.push(R ⋃ {v}, P ⋂ N(v), X ⋂ N(v))
关于algorithm - Bron-Kerbosch 算法的迭代版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406314/
7.21晚上加赛 T2.七负我,做这题找到了性质发现需要求最大团,不会,爆搜,打假了,赛后改,对了,但时间复杂度大爆炸,看下发题解,有这么一句话:于是学习了一下。 Bron-kerbosch
我正在尝试编写 Bron-Kerbosch algorithm 的 C# 实现在图论中,用于查找图中最大大小的团。 理想情况下,该算法会生成一个图列表,其中每个图都代表初始输入图中的最大团。我的代码没
Bron–Kerbosch algorithm是一种列出图的所有最大派系的方法。我最近成功地实现了这个算法只是为了好玩。缺点是该算法是递归的,因此只能在小图上运行,直到堆栈溢出。 应该可以使算法完全迭
我正在尝试理解 Bron-Kerbosch 的算法(带旋转)以在无向图。我有一些问题: 选择枢轴顶点有什么标准吗?我已经看到一些实现选择具有最多邻居的顶点进行优化,而其他实现则简单地选择预期顶点中的第
我在实现 Bron-Kerbosch 算法的 C 版本时遇到了一些问题: 1- 我完全不了解该算法的工作原理。我试图在 Internet 上找到引用资料,但所有这些引用资料都很糟糕,算法示例实现糟糕透
任何人都可以告诉我,我可以在网络上的哪个位置找到有关 Bron-Kerbosch 算法的解释以查找派系或在此处解释其工作原理? 我知道它发表在“算法 457:查找无向图的所有团”一书中,但我找不到描述
我目前正在尝试在 Bron-Kerbosch 算法的 Clojure 实现中正确有效地使用集合和 clojure.set 命名空间,但遇到了困难。 我正在尝试重构我当前的实现 (defn BK [r
维基百科关于 BK clique 发现的伪代码: BronKerbosch2(R,P,X): if P and X are both empty: report R as a
我一直在练习我的 C++ 算法知识,并卡在了标准 BK 实现上。该算法输出了太多派系,我似乎不明白为什么。我将图形表示为邻接表: vector > adjacency_list; 我的 BK 函数如下
简而言之,我的原始代码(用 Ruby 编写)如下所示: # $seen is a hash to memoize previously seen sets # $sparse is a hash of
对于一个大学项目,我正在尝试实现 Bron–Kerbosch algorithm ,即列出给定图中的所有最大团。 我正在尝试实现第一个算法(不旋转),但我的代码在 Wikipedia's exampl
我正在寻找 Bron-Kerbosch algorithm 的 Javascript 实现或 Girvan-Newman algorithm . 基本上,我想在无向图中为最大集团/社区着色。 遗憾的是
我一直在尝试实现 Bron-Kerbosch algorithm在 Rust 中为我的硕士论文。到目前为止一切正常,但是当我尝试从 BTreeSet 更改时到 HashSet出于性能比较的目的,行为变
我是一名优秀的程序员,十分优秀!