考虑一个名为 Graph 的类中的以下两个函数。完整的源代码可以在这里找到: http ://www.keithschwarz.com/interesting/code/?dir=dijkstra 。
public void addNode(T node) {
mGraph.put(node, new HashMap<T, Double>());
}
public void addEdge(T start, T dest, double length) {
mGraph.get(start).put(dest, length);
}
在这里,该方法是它添加到 mGraphaddEdge
中的盲目信任方法。相信课堂上的其他方法正在正确地完成他们的工作,这是一种常见的做法吗?或者是否建议一种方法对一切都持怀疑态度并进行如下检查:addNode
hashmap
public void addEdge(T start, T dest, double length) {
Map m = mGraph.get(start)
if ( m ! = null) ... ...
}
再一次,我有兴趣知道 whatscommonly done
和 whats ideally recommended
。