图的数组(邻接矩阵)存储表示

方法:将图的顶点信息存储在一个一维数组中,并将它的邻接矩阵存储在一个二位数组中即构成图的数组(邻接矩阵)表示。

无向图的邻接矩阵具有如下特点:

1,它是对称阵,(i,j)= (i,j)

2,第i行或者第i列上数值为1的元素个数,等于顶点i的度数。

3,整个矩阵中数值为1的元素个数,等于边数的2倍。

有向图邻接矩阵具有如下特点:

1,一般情况下,它不是对称阵,(i ,j) != (i,j)

2,第i行上数值为1的元素个数等于顶点i的出度;

3,第i列上1元素的个数等于顶点i的入度。

4,整个矩阵中数值为1的元素的个数等于弧数。

如果边或者弧带权,可以在邻接矩阵中表现出来,将数值为1的元素,换成相应的权重即可。

邻接表

思路:顶点信息用连续空间存储,边(弧)即顶点之间的关系通过单链表表示。

有向图:

出度容易查找,入度需要遍历所有表。

无向图:

求顶点的度非常容易,只需要把对应的链表节点个数求出。

由此可见,求有向图的顶点入度是比较困难的,所以就有了逆邻接表

十字链表

十字链表是有向图的一种链式存储结构。

邻接多重表

邻接多重表是无向图的一种链式存储结构。

有向图php,小蚂蚁学习数据结构(29)——图的存储表示相关推荐

  1. 数据结构之图的存储结构:邻接多重表

    图的存储结构:邻接多重表 产生条件: 邻接多重表的定义: 邻接多重表的代码定义: 删除: 性能分析: 十字链表与邻接多重表的对比 产生条件: 当用邻接矩阵法存储时:空间复杂度为O(|V|^2),太大 ...

  2. 数据结构之图的存储结构:十字链表法

    图的存储结构:十字链表法 思维导图: 产生条件: 十字链表法的定义: 十字链表法的代码定义: 性能分析: 思维导图: 产生条件: 当用邻接矩阵存储时:空间复杂度为O(|v|^2),太大 当用邻接表法存 ...

  3. 数据结构之图的存储结构:邻接矩阵法

    图的存储结构:邻接矩阵法 邻接矩阵法: 邻接矩阵的定义: 邻接矩阵存储无向图: 邻接矩阵存储有向图: 邻接矩阵存储网: 邻接矩阵法的性质: 邻接矩阵法的代码实现: 矩阵运算A的n次幂的含义: 性能分析 ...

  4. 数据结构 之 图的存储和遍历

    2019独角兽企业重金招聘Python工程师标准>>> 2012.03.26 by zhengshihao#include<stdio.h> #define GRAPHM ...

  5. 数据结构之图的存储结构二及其实现

    上一节我们讲述了邻接矩阵法实现图,本节再来讲述一下邻接链表法实现图. 邻接链表 邻接表是图的一种链式存储结构.在邻接表中,对图中的每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi边(对有 ...

  6. 数据结构之图的存储结构一及其实现

    图的存储结构 由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,即图没有顺序映像的存储结构,但可以借助数组的数据类型表示元素之间的关系. ...

  7. 数据结构之图的存储结构:邻接表法

    图的存储结构:邻接表法 产生条件: 邻接表法的定义: 邻接表法的特点: 邻接表法的代码定义: 邻接表法与邻接矩阵法的对比: 产生条件: 当用邻接矩阵存储时:空间复杂度为O(|v|^2),太大 邻接表法 ...

  8. 小蚂蚁学习数据结构(4)——线性结构——线性表的链式表示和实现(下)

    2019独角兽企业重金招聘Python工程师标准>>> 用代码实现对链表的操作. /*创建一个链表,实现对链表的创建,插入/追加,删除等操作 */ # include <std ...

  9. 小蚂蚁学习数据结构(32)——二叉排序树的概念

    2019独角兽企业重金招聘Python工程师标准>>> 二叉排序树,定义: 1,若左子树非空,则左子树上所有节点的关键字均小于根节点关键字. 2,若右子树非空,则右子树上所有节点的关 ...

最新文章

  1. centos exfat格式U盘不支持问题
  2. 学python找工作好找吗-前辈经历告诉你Python新手好找工作吗?初级岗位多不多
  3. java访问控制符_java中访问控制符的作用
  4. jQuery+css模拟下拉框模糊搜索的实现
  5. 2-4 测试案例helloWorld
  6. UIButton的竖排图片和文本
  7. 预处理器sass_Sass — Web的预处理器装饰
  8. floquet端口x极化入射波_请问CST 2012 floquet中的模式设置
  9. coreldraw水涟漪怎么做_都说女人是水做的,温柔如水,你怎么一点也不温柔呢?...
  10. 视觉SLAM笔记(38) 3D-3D: ICP
  11. GeoTools计算线与面的交点
  12. 动态取值_软件测试|动态测试技术
  13. 安装 Redis的Python客户端redis-py
  14. AForge Video
  15. Windows下PHP环境的搭建
  16. java 立体几何体中心点,高中数学立体几何重心考点的解题技巧_招生指南
  17. C# WinForm 使用SMTP协议发送QQ邮箱验证码
  18. Activity简单几步支持向右滑动返回
  19. 【VSCode】【msys2】VS Code + msys2配置Windows下C/C++开发环境
  20. Android手机文件及文件夹目录详解

热门文章

  1. R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂、split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串、str_split_fixed
  2. Pandas判断dataframe是否为空
  3. R语言读取excel文件实战(read.xlsx函数、read_excel函数、read.xlsx函数、Write函数)
  4. 反式自动微分autodiff是什么?反向传播(Back Propagation)是什么?它是如何工作的?反向传播与反式自动微分autodiff有什么区别?
  5. keras构建前馈神经网络(feedforward neural network)进行分类模型构建基于早停法(Early stopping)
  6. 阿里云 mysql主从_阿里云MySQL主从_Mater Slave_主备同步_MySQL主从_MySQL延迟-云栖社区-阿里云...
  7. Long-read sequencing for improved analysis
  8. DeepDive-信息抽取工具安装教程
  9. 目标检测开源代码汇总 object detection algorithm codes
  10. 松翰松翰c语言编程指导,松翰C程序检单例程代码下载