zoukankan      html  css  js  c++  java
  • 图的存储结构

    1.无向图邻接矩阵

                  

    以上是一个无向图的邻接矩阵,矩阵七个维度的顺序分别是A,B,C,F,L,J,M,假设矩阵第一行第二列为1代表节点A和节点B有连线,显然邻接矩阵此时应为对称矩阵,且对角线元素均为0。若是有权网络,那么矩阵的元素由1变为权重即可无连接则用无穷大Inf代表,实际操作可用65536等较大的数字表示。

    2.有向图邻接矩阵

              

    与有向图基本相同,只是无向图中有一条边连接两个点,那么矩阵(i,j)位置的元素和(j,i)的元素应该是相同的,但是有向图矩阵(i,j)位置表示从节点i为弧头,至节点j为弧尾。当然有向图的邻接矩阵不会一定是对称矩阵。

    3.无向图的邻接表

            

    每个顶点拥有一个链表,然后链表的元素包括该点通过边连接的点的序号。【这里的序号其实就是节点数组中的下标】

    4.有向图的邻接表

                   

    当边稀疏情况下,使用邻接表比邻接矩阵更节省空间。

    邻接表任一顶点的下一个邻接点较为方便,但是判断两个点之间是否存在边或弧不及邻接矩阵方便

    5.其他的存储方式

    主要是十字链表(Orthogonal List)和邻接多重表(Adjacency Multilist)。这两个是为了解决邻接表存在那些问题,而十字链表主要针对有向图,邻接多重表针对无向图。

     来源

    6.问题

    那么邻接表该如何表示有权图(网络)呢?

    这个问题研究的人就比前面少很多了。 

  • 相关阅读:
    Java中容器的两种初始化方式比较
    java8之stream
    java8之lambda表达式入门
    java8之lambda表达式(1)-基本语法
    java中Comparable和Comparator两种比较器的区别
    将博客搬至CSDN
    vsphere6.5 创建数据中心、集群和添加主机
    VMware-VCSA-6.5安装过程
    docker--数据卷与数据卷容器
    docker私有库搭建过程(Registry)
  • 原文地址:https://www.cnblogs.com/lbrs/p/11834708.html
Copyright © 2011-2022 走看看