0
Breadth First SearchまたはBFSアルゴリズムについて学んでいました。 BFSを実装したグラフのツリー構造を表示します。今、多分私はちょうどリンクリストを使用して、異なる方法で、ツリー構造を表示することができますが、私は、ツリー構造を表示するために使用していますBFS方法を変更したいBFSトラバーサルがJavaで実行されたグラフのツリー構造を表示
上記のpublic class BFS
{
private Queue<Integer> queue;
public BFS()
{
queue = new LinkedList<Integer>();
}
public void bfs(int adjacency_matrix[][], int source)
{
int number_of_nodes = adjacency_matrix[source].length - 1;
int[] visited = new int[number_of_nodes + 1];
int i, element;
visited[source] = 1;
queue.add(source);
while (!queue.isEmpty())
{
element = queue.remove();
i = element;
System.out.print(i + "\t");
while (i <= number_of_nodes)
{
if (adjacency_matrix[element][i] == 1 && visited[i] == 0)
{
queue.add(i);
visited[i] = 1;
}
i++;
}
}
}
は、誰か私のBFS法ができています私は私が所望の出力を得るようにコードを作成する必要があり、正確なものを修正知らせに私を助けるのは、与えられた隣接行列は次のようであるとしましょうたとえば
:
{0,1,0,0,0,1,0,0
1,0,0,0,0,0,0,0
0,0,0,0,0,0,1,0
0,0,0,0,0,0,1,1
0,0,0,0,0,1,0,0
1,0,0,0,1,0,1,0
0,0,1,0,0,1,0,1
0,0,0,1,0,0,0,1}
のツリー構造このグラフはこのようになります
A
/ \
B F
/ \
E G
/ | \
C H D
たとえば、ノードに子供が10人いる場合はどうなりますか? –
それは私が把握しようとしている別の問題です –