0
我正在尋找一種有效的方法來查找可從JUNG中的特定節點集合中獲得的所有節點的集合。我不知道該怎麼做。一種解決方案是獲得特定集合的每個節點的鄰居,並且直到沒有添加關於該過程的新節點爲止。但我認爲可能會有更高效的方式。你能告訴我它會是什麼嗎? (下面是我實現的代碼)圖中使用JUNG的可達節點集
private HashSet<Customer> getReachableNodes(Collection<Customer> churners, DirectedSparseGraph<Customer, Transaction> net) {
HashSet<Customer> reachableNode = new HashSet<Customer>();
for (Customer churner : churners) {
for(Customer neighbor:net.getVertices()){
if(isNeighbor(neighbor,churners,net)) reachableNode.add(neighbor)
}
}
return reachableNode ;
}
從性能上看,哪一個更好?使用LinkedHashSet或正常的hashSet? –
漸近地說,它們是平等的。例如。插入在兩種情況下都需要O(1)。在LinkedHashMap中維護鏈接將理論上涉及一些開銷,但它應該可以忽略不計(例如,迭代LinkedHashMap應該比迭代HashMap快) – Marco13