深入浅析Java的数据结构中的图-创新互联

本篇文章为大家展示了深入浅析Java的数据结构中的图,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联服务项目包括南宁网站建设、南宁网站制作、南宁网页制作以及南宁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南宁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南宁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

1,摘要:

从数据的表示方法来说,有二种表示图的方式:一种是邻接矩阵,其实是一个二维数组;一种是邻接表,其实是一个顶点表,每个顶点又拥有一个边列表。下图是图的邻接表表示。 

深入浅析Java的数据结构中的图

从图中可以看出,图的实现需要能够表示顶点表,能够表示边表。邻接表指是的哪部分呢?每个顶点都有一个邻接表,一个指定顶点的邻接表中,起始顶点表示边的起点,其他顶点表示边的终点。这样,就可以用邻接表来实现边的表示了。如顶点V0的邻接表如下: 

深入浅析Java的数据结构中的图

与V0关联的边有三条,因为V0的邻接表中有三个顶点(不考虑V0)。 

2,具体分析

先来分析边表:

在图中如何来表示一条边?很简单,就是:起始顶点指向结束顶点、就是顶点对。在这里,为了考虑边带有权值的情况,单独设计一个类Edge.java,作为Vertex.java的内部类,Edge.java如下:

 protected class Edge implements java.io.Serializable {
     private VertexInterface vertex;// 终点
    private double weight;//权值

分享名称:深入浅析Java的数据结构中的图-创新互联
文章位置:http://scyanting.com/article/ceipgh.html