遍历向量,它保存所有节点的父信息,以打印两个节点之间的所有最短路径

时间:2013-11-28 12:53:06

标签: c++ algorithm graph

我试图找出如何在两个节点之间采用所有路径。当我有所有父母信息时。

我有一个vector<vector<int> >,其中包含所有父母的信息。

下面相应的矢量图是:< <2,3>,< >,<1>,<1> > 由于1是根,因此父矢量为1。

-------       ---------
-  0  ------> -   2   -    //which means 2 is a parent of 0
-------       ---------
-------       ---------
-  0  ------> -   3   -   //which means 3 is also parent of 0
-------       ---------
-------       ---------
-  3  ------> -   1   -   //means 1 is parent of 3
-------       ---------
-------       ---------
-  2  ------> -   1   -   // means 1 is parent of 2
-------       ---------

我从未加权的无向图中获取这些信息,以找到2个节点之间的所有最短路径。让我们说,我想找到node 1node 0之间的最短路径

从上面的内容可以看出,它有两条不同的最短路径,1-3-01-2-0

为了能够找到它们,我必须从0开始遍历我的访问向量,然后由父对象转到1父对象,反之亦然。有没有人帮助我,提供一些线索,psodue代码等。谢谢你提前。

0 个答案:

没有答案