Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 求最大独立集_C++_Algorithm - Fatal编程技术网

C++ 求最大独立集

C++ 求最大独立集,c++,algorithm,C++,Algorithm,给定一个无向图的邻接矩阵,寻找该图的最大独立集的基本方法是什么?它的复杂性是什么 如果我们有3个顶点,矩阵是: 0110 101 0110 这里的解是2,因为最大独立集包含{1,3} 幼稚的方法如何改进 我的方法是:选择边数最少的节点,并消除其所有邻居。从其余节点中,选择边数最少的节点并重复这些步骤,直到覆盖整个图形 这是否正确?查找最大独立集(MIS): 并行MIS算法使用随机化来获得并发性(图着色的Luby算法) 最初,每个节点都在候选集中C。每个节点生成一个(唯一的)随机数,并将其与邻居通

给定一个无向图的邻接矩阵,寻找该图的最大独立集的基本方法是什么?它的复杂性是什么

如果我们有3个顶点,矩阵是:

0110

101

0110

这里的解是2,因为最大独立集包含{1,3}

幼稚的方法如何改进

我的方法是:选择边数最少的节点,并消除其所有邻居。从其余节点中,选择边数最少的节点并重复这些步骤,直到覆盖整个图形
这是否正确?

查找最大独立集(MIS):

并行MIS算法使用随机化来获得并发性(图着色的Luby算法)

最初,每个节点都在候选集中
C
。每个节点生成一个(唯一的)随机数,并将其与邻居通信

如果一个节点的数目超过其所有邻居的数目,它将加入set
I
。它的所有邻居都将从
C
中删除

此过程将继续,直到
C
为空

平均而言,该算法在
O(log | V |)
这些步骤之后收敛


不要在被问到问题后不到一分钟就把问题排成封闭队列。而且没有注释。@timrau这里没有描述任何算法。@UmNyobe我没有得到you@UmNyobe实际上尽早结帐通常是可取的。这迫使提问者倾向于回答帖子中的任何问题,否则他们将无法得到任何答案。有太多无可救药的评论指出了被忽视的帖子的问题。如果某个问题被关闭,则有一个与之相关联的原因,这将为提问者提供足够的信息,使其能够修复帖子,使其重新打开。@UmNyobe据我所知,关闭该问题后的编辑会将其放入重新打开审阅队列。但是,顺便说一句,大多数接近票数的人都投票赞成以重复票的形式结束投票,这(假设是重复票,或者足够接近票)更有理由迅速关闭,而不是重新打开。