图描述多个点的连接关系,并且之间是有距离的

图的种类

无向图

无向图不考虑点到点的方向,只关注点与点是否有连接并且连线的长度(或称为权重)是多少。

有向图

顶点到顶点的连线是有方向的

图的存储方式

领结矩阵

无向图一般用邻接矩阵来表示,其实就是用二维数组,行列都复制一份,若1与2两点有连接并且长度是n,则a[1][2]与[2][1]这两个位置的值都为n,对角线都是0(自己不能连接自己)

归纳一下用领结矩阵,二维数组表示无向图有几个特性

  1. 浪费存储空间,若连线比较少,点又比较多的稀松矩阵,那么没有连线的对应数组位置都存储0
  2. 对角线如[1][1]、[n][n]默认存储值为0
  3. 因为是无向图,所以数据关于对角线相等,即A到B的距离等于B到A的距离。如果是有向图,则可定规则行是出点或是入点。
  4. 快速查询点与点的距离

一元数组

其实只需要获取矩阵对角线上半部分或下半部分数据即可,那么根据从上到下,从左到又的规律将数据存储到一元数组中,并根据一定规律可获取值,还可减少空间浪费

图的遍历

深度优先遍历(DFS Depth-First-Search)

从任意一个点,开始出发,访问邻接的未访问过的点,再访问该点的任意一个点,直到最深处,往回走,搜索未访问过的邻接点,直到回起点 --递归思想

广度优先遍历(BFS Breadth-First-Search)

从某一点出发,访问所有未访问的邻接点。与二叉树的层次遍历相同的思路。借助队列,将所有邻接点压入队列,出一个顶点,则将该邻点未访问的点入队列。

图常用概念

连通

无向图中,若顶点v到顶点w有路径存在,则称v和w是连通的。若图G中任意两个顶点是连通的,则图G是连通图

连通分量

无向图的极大连通子图

强连通图

有向图中 v到w与w到v两个方向之间都有路径,则两个顶点强连通。若任两个顶点强连通,则图为强连通图。

顶点度、出度、入度

顶点的往里的线,往外的线,所有线

转载于:https://my.oschina.net/xlpapapa/blog/3080230

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值