次のファイル (1) ノード 2) メイン 3) グラフ) がここに添付されています。
https://www.dropbox.com/sh/at9u2684k345uv0/dK77w58rEM
基本的に、私は BFS と DFS を実装していますが、グラフ ファイルのコードに関していくつか質問があります。
private Node getUnvisitedChildNode(Node n)
{
int index=nodes.indexOf(n);
int j=0;
while(j<size)
{
if(adjMatrix[index][j]==1 && ((Node)nodes.get(j)).visited==false)
{
return (Node)nodes.get(j);
}
j++;
}
return null;
}
誰が何をするのか教えてもらえますか
(Node)nodes.get(j))
ここって意味?
他にもいくつか質問があります:
Graph クラスの bfs() メソッドで、次の質問があります。
1) 私が理解したように
"Queue<Node> q=new LinkedList<Node>();"
LinkList が Queue を実装することを意味します。
では、この場合に LinkedList が必要な理由は、「Queue q = new Queue();」を介して行うことはできません。?
2) "this" キーワードの使用法を何度も読んだことがありますが、その理由を誰か教えてください。
q.add(this.rootNode) が使用されていますが、なぜ q.add(rootNode) だけではないのでしょうか?
3) 次の行は何を意味しますか?
while((child=getUnvisitedChildNode(n))!=null)
ありがとう