图(Graph)是一种数据类型。主要包含顶点(Vertex)和边(Edge)。

图G(V, E)是由一个非空有限顶点集合V和有限边集合E组成。

本篇文章主要是对图的基础知识做一个学习总结。具体内容包括图的存储方式,图的连通性和无权图的遍历和寻路。

图的存储方式
图一般通过邻接矩阵或邻接表的方式存储。
邻接矩阵顾名思义是将顶点间的连通关系存放到矩阵中,无权图即可表示为1连通0不连通。
邻接表则是每个顶点后跟随着一个容器,容器中存放着与该顶点连通的点。
一般而言,稠密图用邻接矩阵存储,稀疏图用邻接表存储。(非常稠密的连接图才被叫做稠密图)
图是由顶点的有穷非空集合和顶点之间边的集合组成, 通常表示为: G(V,E), 其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

线性表,树,图比较
线性结构中,元素仅有线性关系,每个元素只有一个直接前驱和直接后继。
树形结构中,数据元素(结点)之间有着明显的层次关系,每层上的元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关
图形结构中,数据元素(顶点)之间具有任意关系,图中任意两个数据元素之间都可能相关

入度和出度
对于无向图G= (V,{E}), 如果边(v,v’)属于E, 则称顶点v和v‘互为邻接点,即v和v’相邻接、边(v,v’)依附于顶点v和v’,或者说(v,v’)与顶点v和v’相关联。 顶点v的度是和v相关联的边的数。无向图中度数为边数的2倍。
对于有向图G= (V,{E}),如果弧<v,v’>属于E,则称顶点v邻接到顶点v’,顶点v’邻接自顶点v的弧<v,v’>和顶点v, v’相关联。以顶点v为头的弧的数自称为v的入度,以v为尾的弧的数目称为v的出度。 顶点v的度为为入度加出度。有向图中入度等于出度,等于变数。
从顶点v 到顶点v’的路径是一个顶点序列。路径的长度是路径上的边或弧的数目。有向图的路径也是有向的。第一个顶点到最后一个顶点相同的路径称为回路或环。 序列中顶点不重复出现的路径称为简单路径。除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路简单环

连通图和强连通分量
如果对于无向图中任意两个顶点vi、vj ∈E, vi,和vj都是连通的,则称G是连通图。
如果对于有向图中任意两个顶点vi、vj ∈E, vi,和vj都是连通的,则称G是强连通图。
无向图中的极大连通子图称为连通分量。有向图中的极大连通子图称为强连通分
量。注意连通分量的概念,它强调:
要是子图;
子图要是连通的;
连通子图含有极大顶点数;
具有极大顶点数的连通子图包含依附于这些顶点的所有边。

图的遍历
从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历。
深度优先遍历(DFS):它从图中某个顶点v出发,访问此顶点,然后从v的未被访问的邻接点出发深度优先遍历图,直至图中所有和v 有路径相通的顶点都被访问到。
广度优先遍历:它从图中某个顶点v出发,访问此顶点的所有邻接点,然后依次访问所有邻接点的邻接点,直至图中所有和v 有路径相通的顶点都被访问到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值