請在這裏找到貼有以下文件(1)節點2)主3)圖表):什麼是(Node)nodes.get(j))在Graph文件中的含義?
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))
意思嗎?
我有幾個問題:
在BFS()在圖形類方法,我有以下問題:
1)正如我理解的是
"Queue<Node> q=new LinkedList<Node>();"
裝置鏈表實現隊列。因此,在這種情況下爲什麼需要LinkedList,我們不能通過「Queue q = new Queue()」來做到這一點嗎?「 ?
2)雖然我已閱讀的使用關鍵字「this」很多時候,任何人都可以請解釋爲什麼
q.add(this.rootNode)被使用,爲什麼不乾脆q.add(根節點)?
3)以下行代表什麼?
while((child=getUnvisitedChildNode(n))!=null)
感謝
感謝您指出。其實我只在我的Eclipse IDE中使用泛型,刪除(Nodes)是有意義的,並增加了代碼的清晰度。感謝您的輸入。 – Adarsh 2013-04-08 05:57:23
所以換句話說,考慮泛型和代碼「nodes.get(j).visited」,它表示: 1)獲取節點arraylist的第j個元素並檢查被訪問的布爾變量是否爲false。 – Adarsh 2013-04-08 05:59:34