我应该从F节点开始画一个deapth第一棵树。该树基于下面的矩阵。当kode"访问"时,该树被提取出来。工作原理如下:
void visit (int k) // DFS, adjaceny matrix
{
int t;
val [k] = ++id;
for (t = l; t<= V; t++)
if (a[k][t] ! = 0)
if (val[t]== unseen) visit (t);
}
| A B C D E F G H I
--|--------------------------
A | 1 1 0 0 1 1 0 1 0
B | 1 1 1 0 0 1 1 0 0
C | 0 1 1 0 1 0 0 0 0
D | 0 0 0 1 0 0 0 1 0
E | 1 0 1 0 1 0 0 1 1
F | 1 1 0 0 0 1 1 0 0
G | 0 1 0 0 0 1 1 0 0
H | 1 0 0 1 1 0 0 1 0
I | 0 0 0 0 1 0 0 0 1
问题的答案是:
......F......
: : :\ :
: : : A :
: : :/ \ :
: : H E :
: : /: \:
: : D : B
: :/ :
: G...:
:/
C
但我的问题是:在F节点的左侧或右侧放置A的决定是什么?我可以正确地绘制这棵树,但左边是我出错的地方,关于将A放在左边是什么决定的任何意见,E到E左边的左边B等等?