开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第35天,点击查看活动详情
✨欢迎关注🖱点赞🎀收藏⭐留言✒
🔮本文由京与旧铺原创,csdn首发!
😘系列专栏:算法学习
💻首发时间:🎞2022年12月30日🎠
🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦
🎧作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲
1.图的概念
图是由顶点集合(简称点集)和顶点间的边(简称边集)组成的数据结构,通常用G(V,E)来表示。其中点集用V(G) 来表示,边集用 E(G) 来表示。
边也可以使用数学符号来表示,其中表示一条无向边,表示一条有向边,很好区分,图中带了箭头就是有向边否则就是无向边,无向边并不是没有指向,而是表示双向指向。
图的表示可以使用邻接矩阵和邻接表来实现,这个实现的细节后面说,先来介绍一下有关图的属性。
2.图的属性
首先图最基本的属性就是顶点和边,这个是构成图的基本要素。
根据边的有向和无向可以将图分为有向图和无向图,有向图两个顶点间是存在方向的,无向图两个顶点是互通的。
比如下面的,就是有向图,,就是无向图。
在有向图中,顶点对是有序的,顶点对称为顶点到顶点的一条边(弧),和是两条不同的边,在无向图中,顶点对是无序的,顶点对称为顶点和顶点相关联的一条边,这条边没有特定方向,和是同一条边。
当图中的每两个顶点之间都有且只有一条边,这样的图就称作完全图,如所示:
假设某个无向完全图有个顶点,则该无向完全图边的数量为,若某个有向完全图有个顶点,则该有向完全图边的数量为,两个顶点之间存在两条反向的边。
邻接顶点: 在无向图中,若是中的一条边,则称和互为邻接顶点,并称边依附于顶点和;在有向图中,若是中的一条边,则称顶点邻接到,顶点邻接自顶点,并称边与顶点和顶点相关联。
顶点的度: 顶点的度是指与它相关联的边的条数,记作。在有向图中,顶点的度等于该顶点的入度与出度之和,其中顶点的入度是以为终点的有向边的条数(指向顶点边的条数),记作;顶点的出度是以为起始点的有向边的条数(由该顶点指出边的条数),记作。因此:。注意:对于无向图,顶点的度等于该顶点的入度和出度,即。
路径: 在图中,若从顶点出发有一组边使其可到达顶点,则称顶点到顶点的顶点序列为从顶点到顶点的路径。
路径长度: 对于不带权的图,一条路径的路径长度是指该路径上的边的条数;对于带权的图,一条路径的路径长度是指该路径上各个边权值的总和。
简单路径与回路: 若路径上各顶点均不重复,则称这样的路径为简单路径。若路径上第一个顶点和最后一个顶点重合,则称这样的路径为回路或环。
子图: 设图和图,若属于且属于,则称是的子图。
连通图: 在无向图中,若从顶点到顶点有路径,则称顶点与顶点是连通的。如果图中任意一 对顶点都是连通的,则称此图为连通图。
强连通图: 在有向图中,若在每一对顶点和之间都存在一条从到的路径,也存在一条从到 的路径,则称此图是强连通图。
生成树: 一个连通图的最小连通子图称作该图的生成树。有个顶点的连通图的生成树有个顶点和条边。
稀疏图与稠密图: 一个图有个顶点,条边,如果满足的图为稀疏图,反之为稠密图。