从祖先矩阵构造树

时间:2012-09-17 16:58:45

标签: algorithm tree

为具有n个节点的树提供矩阵M [n,n]。在给定矩阵M中,如果节点j是节点i的祖先,则M [i,j]为真。从给定矩阵构造树。

例如,您将获得以下矩阵。

   1  2  3  4
1  0  1  1  0

2  0  0  1  0

3  0  0  0  0

4  0  1  1  0

您需要构建以下树。在构造的树中,祖先关系应该是正确的。由于您无法从祖先矩阵

确定此信息,因此节点可以位于其父节点的左侧或右侧
Node numbers used in matrix are in bracket
                        5(3)
                         |     
                         |   
                        10(2)
                        /    \
                       /      \
                   12(1)    13(4)

1 个答案:

答案 0 :(得分:0)

http://en.wikipedia.org/wiki/Topological_sorting有很好的算法,在这种情况下应该适用