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.问题

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

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

  • 相关阅读:
    VUE 入门基础(8)
    VUE 入门基础(7)
    VUE 入门基础(6)
    VUE 入门基础(5)
    VUE 入门基础(4)
    VUE 入门基础(3)
    线程的通信
    如何实现一个简单的RPC
    Java程序员必须掌握的线程知识-Callable和Future
    同步函数死锁现象
  • 原文地址:https://www.cnblogs.com/lbrs/p/11834708.html
Copyright © 2011-2022 走看看