问题如下:
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); }
相关推荐
- **DefaultEdge类**:是Edge接口的一个简单实现,通常用作无属性的边。 JGrapht还包含了丰富的算法实现,这些算法涵盖了图形理论的许多重要方面: 1. **最短路径算法**:如Dijkstra算法和Floyd-Warshall算法,...
- **位置数据**:顶点位置存储在`PositionVertexBuffer`中,可以通过`FPositionVertexBuffer`类获取。 - **法线数据**:法线信息存储在`NormalVertexBuffer`中,对应类为`FStaticMeshVertexBuffer`。 - **纹理...
然而,对于外部的算法或方法来说,它们通常通过`Graph`接口的`getEdgeWeight(E e)`方法间接获取边的权重,这一方法在`AbstractBaseGraph`类中得到了具体实现。 值得注意的是,`WeightedGraph.DEFAULT_EDGE_WEIGHT`...
`DirectedGraph`接口扩展了`Graph`,专用于有向图,增加了如获取边的目标和源顶点等方法。这些接口和类构成了JGrapht的前端API,为开发者提供了便利的编程接口,用于构建和操作复杂的图数据结构。 总的来说,...
5. **回溯**:如果当前顶点的所有邻接点都已经访问过,则从堆栈中出栈一个顶点作为新的当前顶点,并更新指针 `p` 指向新顶点对应的边表的首结点。 6. **重复步骤3-5**,直到所有的顶点都被访问一次。 #### 三、代码...
其中利用了`locate()`函数来获取顶点的位置。 3. **深度优先遍历**:`DFS()`函数实现了深度优先遍历的核心逻辑。它接受一个无向图`G`和一个顶点索引`k`作为参数,从顶点`k`开始进行深度优先遍历。 4. **完整遍历**...
在JGraphT中,"图"被定义为由节点(或顶点)和边组成的集合。这些节点和边可以带有权重或其他属性,使得它可以用于模拟各种复杂的关系网络。例如,它可以用来表示计算机网络中的路由器连接,社交网络中的用户关系,...
用于快速获取图像处理中图像的顶点获取,为图像处理做进一步处理。
然后,通过`vorobj.Vertices`可以访问所有Voronoi图的顶点坐标,结合`polygon_idx`可以提取出每个多边形的顶点: ```matlab vertices = vorobj.Vertices(polygon_idx, :); ``` 至于计算Voronoi多边形的面积,...
* 基于邻接边表实现图的顶点结构 */ package dsa; public class Vertex_List implements Vertex { //变量 protected Object info;//当前顶点中存放的数据元素 protected Position vPosInV;//当前顶点在所属的...
接着,`creat()`函数用于构造图的边,输入参数为起始顶点和目标顶点,通过动态分配内存创建新的`Node`结构,并将其插入到起始顶点的邻接表中。在这个例子中,我们构建了一张5个顶点的图,包含了8条有向边。 计算...
第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,.....,n.第2行有n个正整数表示n个顶点的权.接下来的m行中,每行有2 个正整数u,v,表示图G的一条边(u,v)。 ★结果输出:将计算出的最小权顶点覆盖的...
顶点之间通过边(Edges)连接形成多边形(如三角形或四边形),从而构建出模型的表面。然而,直接使用这些顶点来渲染模型可能会造成效率低下,因为同样的顶点可能会多次重复使用。为了解决这个问题,我们可以使用索...
通常,这种问题会通过标准输入或者读取文件来获取数据。用户会依次提供以下信息: 1. 顶点数 (V):表示图中节点的数量。 2. 弧数 (E):表示图中边的数量,因为是有向图,所以每条边都是独立的。 3. 各顶点信息:这...
python语言,对输入的图片通过opencv手段,进行图片矫正,必须提供四个顶点坐标,才能完全正确矫正图片的旋转和倾斜。
第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,.....,n.第2行有n个正整数表示n个顶点的权.接下来的m行中,每行有2 个正整数u,v,表示图G的一条边(u,v) 结果输出 将计算出的最小权顶点覆盖的...
顶点覆盖问题指的是:给定一个无向图G=(V,E),找出最小规模的顶点集S,使得图中的每条边至少有一端点在S中。这个问题在很多实际场景中有应用,例如网络设计、电路板布线优化等。"近似算法"则是针对那些在多项式时间...
求解出从给定顶点到所有顶点的最短路径 判断一个有向图g是否是一棵有向树。(任意一个顶点可能是根实验测试数据基本要求: 第一组数据: dirtree2.grp 第二组数据: grp12.grp 第三组数据: dirtree.grp 第四组数据...
使用"顶点清理.ms"文件,用户可以将这个插件安装到3Dmax环境中,通过插件管理器启用并调用它。"UI_ln"可能是插件的用户界面语言文件,用于提供中文或其他语言的界面,以便用户更方便地理解和操作。 总的来说,3Dmax...
这个算法通过反复松弛边来更新所有顶点到源点的最短路径,总共进行V-1次迭代(V是顶点的数量)。如果在第V次迭代中仍然发现边的松弛可以减少路径长度,那么图中可能存在负权环。 在实现这两个算法时,通常会使用...