找出图中最大团的最小尺寸的程序(Python)
假设给定一张图,并要求我们找出图中最大团的最小尺寸。图的团是图的子集,其中每对顶点都是相邻的,即每对顶点之间都存在一条边。在多项式时间内不可能找到图中的最大团,因此给定小图的节点和边数,我们必须找出其中的最大团。
所以,如果输入像节点=4,边=4;那么输出将是2。
在上图中,集团的最大规模为 2。
示例
让我们看看以下实现以更好地理解 -
import mathdef helper(x, y):
ga = x % y
gb = y - ga
sa = x //y + 1
sb = x //是的
return ga * gb * sa * sb + ga * (ga - 1) * sa * sa //2 + gb * (gb - 1) * sb * sb //2
def solve(nodes, edges):
i = 1
j = nodes + 1
while i + 1 < j:
p = i + (j - i) //2
k = helper(nodes, p)
if k < edges:
i = p
else:
j = p
return j
print(solve(4, 4))
输入
4,4输出结果
2
以上是 找出图中最大团的最小尺寸的程序(Python) 的全部内容, 来源链接: utcz.com/z/363241.html