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);
}
}