`
kanpiaoxue
  • 浏览: 1781484 次
  • 性别: 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) 结果输出 将计算出的最小权顶点覆盖的...

    SU2015顶点编辑插件

    3. **顶点缩放**:通过缩放顶点,用户可以增加或减少模型某一部位的厚度,增强模型的立体感。 4. **平滑处理**:通过平滑工具,可以轻松地平滑模型表面,消除锯齿,使模型看起来更自然。 5. **权重编辑**:在多边形...

    顶点覆盖近似算法.zip

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics