我想制作一个简单的图表,它是没有节点自循环的图表。在可以在线获得的教程中,据说我应该使用SimpleGraph接口,但它不能正常工作,因为它在任何jar中都找不到。有什么我可以做的事情来禁用自我循环或者我应该只为前者。在每个mousekey发布时检查是否有任何自循环被添加并删除这样的边缘效率非常低。
答案 0 :(得分:1)
如上所述,没有。 3你的代码看起来应该是这样的:
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);
}
答案 1 :(得分:0)
我不知道是什么教程,但JUNG没有“SimpleGraph”界面。
但是,您可以通过以下其中一种机制轻松完成此任务:
我不明白为什么你认为这是低效的;任何这些检查都是O(1)。