首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jung2:如何禁用节点自触发

Jung2:如何禁用节点自触发
EN

Stack Overflow用户
提问于 2013-04-10 17:14:06
回答 2查看 142关注 0票数 0

我想做一个简单的图,它是一个没有节点自触发器的图。在网上提供的教程中,有人说我应该使用SimpleGraph接口,但是它不起作用,因为在任何jar中都找不到它。有没有什么我可以做的来禁用自翻转,或者我应该只是为了ex。在每次释放鼠标键时,检查是否添加了任何自触发器,并删除这样的边,这将是非常低效的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-12 02:45:06

正如上面第三点所说的,你的代码应该是这样的:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-04-11 01:22:46

我不知道这是什么教程,但JUNG没有"SimpleGraph“接口。

但是,您可以通过以下机制之一轻松地完成这项工作:

根据您的建议,源:确定添加的边是一个自循环,并将其删除。一旦知道目标顶点,仅当 != destination

  1. creating为您首选的图形类型的子类时调用addEdge(),该子类覆盖addEdge()并拒绝自循环。

我不明白您为什么认为这是低效的;这些检查中的任何一个都是O(1)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15921658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档