我想做一个简单的图,它是一个没有节点自触发器的图。在网上提供的教程中,有人说我应该使用SimpleGraph接口,但是它不起作用,因为在任何jar中都找不到它。有没有什么我可以做的来禁用自翻转,或者我应该只是为了ex。在每次释放鼠标键时,检查是否添加了任何自触发器,并删除这样的边,这将是非常低效的。
发布于 2013-04-12 02:45:06
正如上面第三点所说的,你的代码应该是这样的:
public class UndirectedSimpleGraph<V,E> extends UndirectedSparseGraph<V,E> {
public UndirectedSimpleGraph(){
super();
}
public boolean addEdge(E edge, Pair<? extends V> endpoints, EdgeType edgeType){
Pair<V> new_endpoints = getValidatedEndpoints(edge, endpoints);
if (new_endpoints == null)
return false;
V v1 = new_endpoints.getFirst();
V v2 = new_endpoints.getSecond();
if(v1.equals(v2))
return false;
else
return super.addEdge(edge,endpoints,edgeType);
}发布于 2013-04-11 01:22:46
我不知道这是什么教程,但JUNG没有"SimpleGraph“接口。
但是,您可以通过以下机制之一轻松地完成这项工作:
根据您的建议,源:确定添加的边是一个自循环,并将其删除。一旦知道目标顶点,仅当 != destination
我不明白您为什么认为这是低效的;这些检查中的任何一个都是O(1)。
https://stackoverflow.com/questions/15921658
复制相似问题