从矩阵邻接形成路径

时间:2011-08-28 21:08:45

标签: matlab graph-theory

如果我有一个节点邻接,则每个数字代表节点id

                    A  = [ 3 7;
                           4 7;
                           6 9;
                           3 10;
                           4 10;
                           7 10]

我怎样才能得到假设形成路径的结果

                          [3 7 10 4]
                          [4 7 10 3]
                          [6 9 0 0]
                          [3 10 4 7]
                          [4 10 3 7]
                          [7 10 4 7]

来自矩阵A第一行的值为3将导致值为7,而从7开始搜索矩阵A,这将导致最后一行将7连接到数字10.因此,从数字10开始,它可以选择值3或4作为下一个号码。我希望答案在一行中没有重复的数字,但不需要以最高的id号结束,如果下一个号码是从前一个重复,它将结束。希望我在matlab中成为一名初学者。非常感谢提前。

2 个答案:

答案 0 :(得分:3)

这属于图论领域。如果你不想重新发明轮子,有几个工具箱在处理这些问题时会提供常见的算法:

答案 1 :(得分:0)

使用广度优先搜索(http://en.wikipedia.org/wiki/Breadth-first_search)。您可以在搜索过程中拒绝对您的条件无效的路径,也可以在之后将其过滤掉。

您应该进一步澄清您的问题。你所要求的并不完全清楚。