我需要帮助解决3边缘连接问题的算法的伪代码: 输入:邻接矩阵格式的图G
output:如果对于每对顶点v,对于G的w元素,存在从v到w的长度最多为3的路径
任何想法?这就是我到目前为止所拥有的。
const int WIDTH = 10;
const HIGHT =10;
Int arrayMatrix [WIDTH] [HIGHT];
for (int i =0; i< WIDTH; i++)
{
for (int j =0; j<HIGHT; j++)
{
int countEdges =0;
countEdges = countEdges +arrayMatrix [i];
}
if countEdges<=3
cout << "True for 3-edge connectivity problem" << endl;
else
cout <<"Not found" << enld;
答案 0 :(得分:0)
您可以使用类似于Warshall-Floyd算法的技术来计算G ^ 3,但是对于矩阵乘法,您可以进行以下操作
(X * Y)ij = OR [全k](Xik和Ykj)。
现在计算(G * G)* G(使用输入邻接矩阵)。
如果结果矩阵仅包含'true'元素,则返回true。