Jgrapht使用及介绍.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Jgrapht使用及介绍.ppt》由会员分享,可在线阅读,更多相关《Jgrapht使用及介绍.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JGraphT包简介包简介1JGraphT简介项目主页项目主页:http:/ 图形可视化JGraphT涉及了几乎所有的对图这一数据结构的操作。例如,创建图创建图,修改图修改图,删除删除图图,添加顶点添加顶点,构造边构造边,图的遍历图的遍历,图的图的映射映射,连通性检查连通性检查,求最短路径求最短路径,求图的最小点覆盖最小点覆盖4 尽管JGraphT的设计是简单,安全类型的,但是功能却很强大。例如,图的顶点可是任何对象。您可以基于字符串,字符串,URL,XML文档档,等等创建图。甚至,你可以根据图来创建图。5与其他包(库,组件)的联系1.java.util(包含 collection框架、遗留的
2、 collection类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)2.Jgraph J纯Java开发的图形组件,支持拖,放,缩放,合并等其它操作。它可以被结合到任何的Swing应用程序当中。3.java.awt包含用于创建用户界面和绘制图创建用户界面和绘制图形图像形图像的所有类。6前端API的接口和类接口和类7Grapht接口 图结构的根接口根接口 public interface Graph 1.public Set getAllEdges(V sourceVertex,V targetVertex);2.public E getEdge(V
3、 sourceVertex,V targetVertex);3.public EdgeFactory getEdgeFactory();84.publicEaddEdge(VsourceVertex,VtargetVertex);5.publicbooleanaddEdge(VsourceVertex,VtargetVertex,Ee);6.publicbooleanaddVertex(Vv);7.publicbooleancontainsEdge(Ee);8.publicbooleancontainsVertex(Vv);9.publicbooleancontainsEdge(Vsource
4、Vertex,VtargetVertex);910.publicSetedgesOf(Vvertex);11.publicSetedgeSet();12.publicSetremoveAllEdges(VsourceVertex,VtargetVertex);13.publicbooleanremoveAllEdges(Eedges);14.publicbooleanremoveAllVertices(Vvertices);15.publicEremoveEdge(VsourceVertex,VtargetVertex);10Jgrapht简介16.publicbooleanremoveEdg
5、e(Ee);17.publicbooleanremoveVertex(Vv);18.publicSetvertexSet();19.publicVgetEdgeSource(Ee);20.publicVgetEdgeTarget(Ee);21.publicdoublegetEdgeWeight(Ee);11DirectedGraph.java有向图有向图publicinterfaceDirectedGraph extendsGraph1.publicintinDegreeOf(Vvertex);2.publicSetincomingEdgesOf(Vvertex);3.publicintout
6、DegreeOf(Vvertex);4.publicSetoutgoingEdgesOf(Vvertex);12UndirectedGraph.java无向图无向图publicinterfaceUndirectedGraph extendsGraph publicintdegreeOf(Vvertex);13EdgeFactory.java1.GraphHelper.java(publicabstractclassGraphHelpe extendsGraphs)2.GraphMapping.java(bidirectionalmapping)3.GraphPath.java4.VertexF
7、actory.java5.ListenableGraph.java6.WeightedGraph.java14Alg包包包简介(或作用):提供图的一些基本算法。提供图的一些基本算法。1.ConnectivityInspector.java(连通性检查)(主要用的是图的遍历遍历方法)2.DijkstraShortestPath.java3.VertexCovers.java(点覆盖点覆盖)15迪杰斯特拉算法 用来求从某个源点到其余其余各个顶点的最短路径,按照路径长度递增递增的次序产生的。1617从顶点A(源点)到顶点B,C,D,E,F的最短距离初态为,10,30,100S=AT=B,C,D,E,
8、F从集合T中选取到顶点A路径长度最短的顶点u加入到集合S中S、T集合的状态变为:S=A,CT=B,D,E,F(10)(,30,100)18 根据算法思想:集合S每加入一个新的顶点u,都要修改顶点A到集合T中剩余顶点的最短路径长度值 当S=A,C后,A到其它顶点B,D,E,F的最短路径改变为S=A,CT=B,D,E,F(10)(,60,30,100)不断重复上述过程,直到集合T的顶点全部加入到S中或无通路为止。19BC10(A,C)D60(A,C,D)50(A,E,D)E30(A,E)30(A,E)F100(A,F)100(A,F)90(A,E,F)60(A,E,D,F)V(J)CEDFSA,C
9、A,C,EA,C,E,DA,C,E,D,F20 VertexCovers 设G,V*包含于V,若对于eE,vV*,使得v与e相关联,则称v覆盖e,并称V*为G的点覆盖集或简称点覆盖。V*是G的点覆盖,若V*的任何真子集都不是点覆盖,则称V*是极小点覆盖,顶点个数最少的点覆盖称为最小的点覆盖,其顶点个数称为点覆盖数,记作0(G)或简记为0.21该类中主要有两个函数1.publicstaticSetfind2ApproximationCover(Graphg)(近似的,相似的)2.SetfindGreedyCover(UndirectedGraphg)(贪婪算法贪婪算法,每次循环中,找出度最大的顶
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Jgrapht 使用 介绍
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内