`
kanpiaoxue
  • 浏览: 1777439 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

jgrapht如何通过DefaultEdge获取边的顶点

 
阅读更多

 

参考地址:https://stackoverflow.com/questions/14296463/protected-getsource-and-gettarget-methods-on-jgrapht-defaultedge-class

 

问题如下:

The methods getSource() and getTarget() of DefaultEdge on org.jgrapht.graph.DefaultEdge are protected.

import java.util.Set;

import org.jgrapht.UndirectedGraph;
import org.jgrapht.graph.DefaultEdge;
import org.jgrapht.graph.SimpleGraph;

public class TestEdges
{
    public static void main(String [] args)
    {
        UndirectedGraph<String, DefaultEdge> g =
            new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);

        String A = "A";
        String B = "B";
        String C = "C";

        // add the vertices
        g.addVertex(A);
        g.addVertex(B);
        g.addVertex(C);

        g.addEdge(A, B);
        g.addEdge(B, C);
        g.addEdge(A, C);

        Set<DefaultEdge> edges = g.edgeSet();

        for(DefaultEdge edge : edges) {
            String v1   = edge.getSource(); // Error getSource() is protected method
            String v2   = edge.getTarget(); // Error getTarget() is protected method
        }
    }
}

 

The "correct" method to access edges source and target, according to JGraphT mailing list is to use the method getEdgeSource(E) and getEdgeTarget(E) from the interface Interface Graph<V,E> of org.jgrapht

the modification of the code is then

for(DefaultEdge edge : edges) {
   String v1   = g.getEdgeSource(edge);
   String v2   = g.getEdgeTarget(edge);
}

 

 

分享到:
评论

相关推荐

    java jgrapht包

    - **DefaultEdge类**:是Edge接口的一个简单实现,通常用作无属性的边。 JGrapht还包含了丰富的算法实现,这些算法涵盖了图形理论的许多重要方面: 1. **最短路径算法**:如Dijkstra算法和Floyd-Warshall算法,...

    UE4 访问网格的顶点数据

    - **位置数据**:顶点位置存储在`PositionVertexBuffer`中,可以通过`FPositionVertexBuffer`类获取。 - **法线数据**:法线信息存储在`NormalVertexBuffer`中,对应类为`FStaticMeshVertexBuffer`。 - **纹理...

    JGraphT实现细节

    然而,对于外部的算法或方法来说,它们通常通过`Graph`接口的`getEdgeWeight(E e)`方法间接获取边的权重,这一方法在`AbstractBaseGraph`类中得到了具体实现。 值得注意的是,`WeightedGraph.DEFAULT_EDGE_WEIGHT`...

    JGrapht包简介

    `DirectedGraph`接口扩展了`Graph`,专用于有向图,增加了如获取边的目标和源顶点等方法。这些接口和类构成了JGrapht的前端API,为开发者提供了便利的编程接口,用于构建和操作复杂的图数据结构。 总的来说,...

    C语言 输入无向图连通图的顶点数、顶点信息、边数、顶点对序列及遍历的起始点序号,输出深度优先遍历序列

    5. **回溯**:如果当前顶点的所有邻接点都已经访问过,则从堆栈中出栈一个顶点作为新的当前顶点,并更新指针 `p` 指向新顶点对应的边表的首结点。 6. **重复步骤3-5**,直到所有的顶点都被访问一次。 #### 三、代码...

    C语言 输入无向图连通图的顶点数、顶点信息、边数、顶点对序列及遍历的起始点序号,输出深度优先遍历序列。

    其中利用了`locate()`函数来获取顶点的位置。 3. **深度优先遍历**:`DFS()`函数实现了深度优先遍历的核心逻辑。它接受一个无向图`G`和一个顶点索引`k`作为参数,从顶点`k`开始进行深度优先遍历。 4. **完整遍历**...

    jgrapht-0.8.1.zip

    在JGraphT中,"图"被定义为由节点(或顶点)和边组成的集合。这些节点和边可以带有权重或其他属性,使得它可以用于模拟各种复杂的关系网络。例如,它可以用来表示计算机网络中的路由器连接,社交网络中的用户关系,...

    图像处理中图的顶点获取

    用于快速获取图像处理中图像的顶点获取,为图像处理做进一步处理。

    matlab获取voronoi多边形图的顶点和面积

    然后,通过`vorobj.Vertices`可以访问所有Voronoi图的顶点坐标,结合`polygon_idx`可以提取出每个多边形的顶点: ```matlab vertices = vorobj.Vertices(polygon_idx, :); ``` 至于计算Voronoi多边形的面积,...

    基于邻接边表实现图的顶点结构算法(java源码)

    * 基于邻接边表实现图的顶点结构 */ package dsa; public class Vertex_List implements Vertex { //变量 protected Object info;//当前顶点中存放的数据元素 protected Position vPosInV;//当前顶点在所属的...

    5个顶点图的入度和出度

    接着,`creat()`函数用于构造图的边,输入参数为起始顶点和目标顶点,通过动态分配内存创建新的`Node`结构,并将其插入到起始顶点的邻接表中。在这个例子中,我们构建了一张5个顶点的图,包含了8条有向边。 计算...

    分支限界法 最小权顶点覆盖问题

    第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,.....,n.第2行有n个正整数表示n个顶点的权.接下来的m行中,每行有2 个正整数u,v,表示图G的一条边(u,v)。 ★结果输出:将计算出的最小权顶点覆盖的...

    dx9模型顶点索引缓冲区

    顶点之间通过边(Edges)连接形成多边形(如三角形或四边形),从而构建出模型的表面。然而,直接使用这些顶点来渲染模型可能会造成效率低下,因为同样的顶点可能会多次重复使用。为了解决这个问题,我们可以使用索...

    编写算法,由依次输入的顶点数目、弧的数目、各顶点信息和各条弧信息建立有向图的邻接表。

    通常,这种问题会通过标准输入或者读取文件来获取数据。用户会依次提供以下信息: 1. 顶点数 (V):表示图中节点的数量。 2. 弧数 (E):表示图中边的数量,因为是有向图,所以每条边都是独立的。 3. 各顶点信息:这...

    python+opencv和四个顶点坐标test3.py

    python语言,对输入的图片通过opencv手段,进行图片矫正,必须提供四个顶点坐标,才能完全正确矫正图片的旋转和倾斜。

    最小权顶点覆盖问题的C++代码(完整)

    第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,.....,n.第2行有n个正整数表示n个顶点的权.接下来的m行中,每行有2 个正整数u,v,表示图G的一条边(u,v) 结果输出 将计算出的最小权顶点覆盖的...

    顶点覆盖近似算法.zip

    顶点覆盖问题指的是:给定一个无向图G=(V,E),找出最小规模的顶点集S,使得图中的每条边至少有一端点在S中。这个问题在很多实际场景中有应用,例如网络设计、电路板布线优化等。"近似算法"则是针对那些在多项式时间...

    求给定图中的边(或弧)的数目求解出从给定顶点到所有顶点的最短路径。。。

    求解出从给定顶点到所有顶点的最短路径 判断一个有向图g是否是一棵有向树。(任意一个顶点可能是根实验测试数据基本要求: 第一组数据: dirtree2.grp 第二组数据: grp12.grp 第三组数据: dirtree.grp 第四组数据...

    3dmax插件——顶点清理插件

    使用"顶点清理.ms"文件,用户可以将这个插件安装到3Dmax环境中,通过插件管理器启用并调用它。"UI_ln"可能是插件的用户界面语言文件,用于提供中文或其他语言的界面,以便用户更方便地理解和操作。 总的来说,3Dmax...

    设计一个程序,对已知顶点信息和顶点之间距离信息的建立有向图并求得任意两点之间的最短路径和路径经过顶点。

    这个算法通过反复松弛边来更新所有顶点到源点的最短路径,总共进行V-1次迭代(V是顶点的数量)。如果在第V次迭代中仍然发现边的松弛可以减少路径长度,那么图中可能存在负权环。 在实现这两个算法时,通常会使用...

Global site tag (gtag.js) - Google Analytics