图 - 有向图的平方

时间:2012-03-11 18:37:45

标签: algorithm data-structures graph clrs

是的,这将是一项家庭工作(我自学而不是大学)问题,但我不是要求解决方案。相反,我希望澄清问题本身。

CLRS 3rd edition,第593页,消费22.1-5,

  

有向图G =(V,E)的平方是图G ^ 2 =(V,E ^ 2),当且仅当G包含时,(u,v)∈E^ 2 u和v 之间最多两条边的路径。描述用于从G的邻接列表和邻接矩阵表示中计算G2的有效算法。分析算法的运行时间。

然而,在CLRS第2版(我找不到书籍链接),第530页,同样的消费税,但描述略有不同:

  

有向图的平方G =(V,E)是图G ^ 2 =(V,E ^ 2),使得(u,w)∈E^ 2当且仅当某些v∈V时,(u,v)∈E和(v,w)∈E。也就是说,只要G包含正好两条边的路径,G ^ 2就包含u和w之间的边在你和你之间。描述用于从G的邻接列表和邻接矩阵表示中计算G ^ 2的有效算法。分析算法的运行时间。

对于具有“两个边缘”的旧消费税,我能理解并且可以解决它。例如,对于邻接列表,我只做v-> neighbour-> neighbour.neighbour,然后将(v,neighbour.neighbour)添加到新的E ^ 2。

但对于“最多两个边缘”的新消费税,我很困惑。

“当且仅当G包含u和v之间最多两条边的路径时”是什么意思?

由于一条边可以满足“最多两条边”的条件,如果u和v只有一条只包含一条边的路径,我应该将(u,v)加到E ^ 2吗?

如果u和v有一条带有2条边的路径,但是还有另一条带有3条边的路径,我可以将(u,v)添加到E ^ 2吗?

2 个答案:

答案 0 :(得分:5)

是的,这正是它的含义。 E^2应包含(u,v) iff E包含(u,v)wVE包含(u,w) (w,v) 1}}和E^2

换句话说,根据新定义,E根据旧定义是E^2u的并集。

关于您的上一个问题:vu之间存在的其他路径(如果存在)并不重要。因此,如果v(u,v)之间有两条路径,一条有2条边,一条有3条边,那么E^2应该在{{1}}中(根据两个定义)

答案 1 :(得分:0)

由那些顶点V'定义的图G,G ^ 2的平方,其中d(u,v)<= 2且G ^ 2的边距G'是G的两个边缘,它们都具有结束顶点从V'