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

    1.邻接矩阵:在图中任意两个顶点之间都有可能存在关系,邻接矩阵就是用n阶方针来保存一个顶点是否对另一个顶点有“意思”。

    ①无向图

    在无向图中两个顶点有边连接就意味着(v0,v1)和(v1,v0)都有“关系”,即彼此“喜欢”对方。方阵的数据沿对角线对称分布。

    ②有向图

    数据分布不对称。

    ③网的邻接矩阵存储:存在带权的边/弧。如果对对方有“意思”就把前边的“1”改为对应的权值即可。

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    2.邻接表AdjacencyList:诞生的理由——如果图中顶点多而边/弧的数目少,即顶点之间关系不好,那么整个方针里边就存了几个“1”,显然就很是浪费存储了,邻接矩阵存储的是顶点之间的关系,从空间的使用效率来说适合用于关系比较丰富的图,前人们为了满足关系简单而“人口”众多的图的最小空间开销想啊想,于是就发明了邻接表。

    这种表需要定义两个结构,一个是用来描述顶点的:用于存储顶点的数据信息和指向他“感兴趣”的第一个顶点的指针;另一个是用来描述“被感兴趣”的顶点下标,在有向图中对应的就是出度。

  • 相关阅读:
    Java泛型
    Java多态
    Anaconda+pycharm配置pytorch1.1.0+cuda 9.0+python3.7环境
    anaconda+fbprophet安装
    pycharm显示所有的tabs
    联想拯救者15-isk安装固态硬盘与系统迁移教程
    VS2017 C++操作mysql数据库
    mfc动态演示排序算法
    模拟处理机作业调度---短作业优先调度算法
    P3327 [SDOI2015]约数个数和
  • 原文地址:https://www.cnblogs.com/lubiao/p/4822213.html
Copyright © 2011-2022 走看看