【数据结构】图的基础定义

图是一种非常重要的数据结构,特别是应用在地图上,比如高德地图路径规划、坐地铁、公交时的路径规划,我们的生活与之息息相关。下面回顾一波基础定义

一、图的定义

图(Graph):是由顶点的有穷非空集合和顶点之间边的集合组成。

顶点(Vertex):图中的数据元素。

边(Edge):顶点之间的逻辑关系,表示为(ⅵ,vj)。

弧(Arc):即有向边,表示为<Vi,Vj>。

备注:图通常表示为G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。

二、有向图与无向图的定义

无向边:若顶点 ⅵ 到 vj之间的边没有方向,则称这条边为无向边(Edge),用无
序偶对(ⅵ,vj)来表示。

无向图 (Undirected graphs):图中任意两个顶点之间的边都是无向边。

无向完全图:在无向图中,任意两个顶点之间都存在边。

image-20220127202810611

有向边:若从顶点 vi 到 νj的边有方向,则称这条边为有向边,也称为弧(Arc)。
用有序偶<Vi,Vj>来表示,ⅵ称为弧尾(Tail),vj称为弧头(Head)。

有向图 (Directed graphs):图中任意两个顶点之间的边都是有向边。

有向完全图:在有向图中,任意两个顶点之间都存在方向互为相反的两条弧。

image-20220127202810611

三、权的定义

有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫做权

image-20220127202810611

四、连通图的定义

在无向图G中,如果从顶点v到顶点v’有路径,则称ⅴ和v’是连通的。如果对于图中任意两个顶点 vi、vj∈E, vi和vj都是连通的,则称G是连通图(ConnectedGraph)。

image-20220127202810611

五、度的定义

无向图顶点的边数叫度,有向图顶点的边数叫出度和入度

image-20220127202810611

六、图的存储方式

6.1、邻接矩阵存储

图的邻接矩阵(Adjacency Matrix) 存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。

  1. 无向图的邻接矩阵。

无向图的边数组是一个对称矩阵

image-20220127202810611
  1. 有向图的邻接矩阵。
image-20220127202810611
  1. 带权邻接矩阵。
image-20220127202810611
6.2、邻接表存储

邻接表:散列链表存储方式,也就是数组+链表的形式。

  1. 无向图的邻接表

其中数组表示定点Vertex,链表表示边Edge。

image-20220127202810611
  1. 有向图的邻接表

其中数组表示顶点Vertex,链表存储出度关系的边,即弧Arc,如图<V0,V3>。

image-20220127202810611

除此之外,还有逆邻接表,如图弧<V1,V0><V2,V0>,链表存储入度关系的边

image-20220127202810611
  1. 带权值邻接表

在邻接表的基础上,链表多了一个权重字段。

image-20220127202810611
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流星雨在线

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值