Algorithm 构造k边连通子图

Algorithm 构造k边连通子图,algorithm,graph,Algorithm,Graph,假设我有大小为mxn的网格图。顶点数为mn,边数为2mn-m-n。如何构造具有k边的连通子图?我知道,因为k是边的个数,所以mn-1有很多你感兴趣的格子网格图类型的生成子图。如果您只需要其中一个,可以将每个顶点连接到它的水平相邻点,并连接最左边的列(因此这看起来像一个梳子。例如 *-*-*-*-* | *-*-*-*-* | *-*-*-*-* | *-*-*-*-* 这只是许多可能的生成子图之一 最后,添加必要的边以获得k。边集可以在不生成的情况下进行描述,如注释中所述。有许多您感兴趣的晶格

假设我有大小为mxn的网格图。顶点数为mn,边数为2mn-m-n。如何构造具有k边的连通子图?我知道,因为k是边的个数,所以mn-1有很多你感兴趣的格子网格图类型的生成子图。如果您只需要其中一个,可以将每个顶点连接到它的水平相邻点,并连接最左边的列(因此这看起来像一个梳子。例如

*-*-*-*-*
|
*-*-*-*-*
|
*-*-*-*-*
|
*-*-*-*-*
这只是许多可能的生成子图之一


最后,添加必要的边以获得k。边集可以在不生成的情况下进行描述,如注释中所述。

有许多您感兴趣的晶格网格图类型的生成子图。如果您只需要其中一个,您可以将每个顶点连接到它的水平邻居,并连接最左边的列(因此这看起来像一个梳子。例如

*-*-*-*-*
|
*-*-*-*-*
|
*-*-*-*-*
|
*-*-*-*-*
这只是许多可能的生成子图之一


最后,添加必要的边以获得k。边集可以在不生成的情况下进行描述,如注释中所述。

您是否要求计算不同生成树的数量?枚举它们的方法?否,我是问如何构造k边连通子图。您是否要求计算不同生成树的数量生成树?一种列举它们的方法?不,我问的是如何构造一个k边连通子图。这如何帮助生成一个具有k边的图?它比Kruskal更快。然后添加边以达到k。例如,通过从左到右、从上到下填充垂直边来按顺序添加边。这可以在不运行任何al的情况下进行描述gorithm,也就是说,如果s是额外边的数量(超过最小生成树),那么我们可以说两个顶点是相邻的,如果:1)它们是水平邻域,2)它们是第一列中的垂直邻域,3)它们是垂直邻域,并且顶部顶点(x,y)满足x>=1,和(x-1)+(m-1)*y啊,所以这是一种生成生成树的更便宜的方法。如果没有你的第一句话,答案似乎无法回答这个问题。我建议将其添加到答案中。这如何帮助生成具有k边的图?它比Kruskal更快。然后添加边以达到k,例如,通过从左到右、从上到下填充垂直边,按顺序添加边。这可以在不运行任何算法的情况下进行描述。也就是说,如果s是额外边的数量(超过最小生成树),那么我们可以说两个顶点是相邻的,如果:1)它们是水平的邻居,2)它们是第一列中的垂直邻居,3)它们是垂直的邻居,并且顶部顶点(x,y)满足x>=1,和(x-1)+(m-1)*y啊,所以这是一种生成生成树的更便宜的方法。如果没有你的第一句话,答案似乎无法回答这个问题。我建议在答案中加上它。