0
我在邻接列表中存储了一个包含节点1,2,3,4 ...的图形。 我写了这段代码来做广度优先搜索(BFS)。 BFS的工作原理非常完美,但我不知道程序是查找图形是连接还是断开连接,然后打印图形的最小生成树(如果连接的话)? 我存储在邻接表图的一个例子:对BFS检查图形是否使用BFS连接并打印MST
1 3 4
2 4
3 1 4
4 2 1 3
,代码:
int visit[999] = { 0 };
Q.enqueue(0);
while (!Q.isEmpty())
{
y = Q.dequeue();
traverse = g[y];
while (traverse->link != 0)
{
if (visit[traverse->data-1] == 0)
{
visit[traverse->data-1] = 1;
parent = traverse->data;
Q.enqueue(traverse->data-1);
}
traverse = traverse->link;
}
if (visit[traverse->data - 1] == 0)
{
visit[traverse->data - 1] = 1;
parent = traverse->data;
Q.enqueue(traverse->data - 1);
}
}