数据结构之图

简介:

图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V.E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。


需要注意的几个地方:

1.线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点。

2.线性表中可以没有数据元素,称为空表。树中可以没有结点,叫做空树。在图结构中,不允许没有顶点。在定义中,若V是顶点的集合,则强调了顶点集合V有穷非空。

3.线性表中,相邻的数据元素之间具有线性关系,树结构中,相邻两层的结点具有层次关系,而图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以为空。



各种图定义


无向边:若顶点vi到vj之间的边没有方向,则称这条边为无向边,用无序偶对来表示。  例如 G1=(V1,{E1}) 顶点集合V1{A,B,C,D} 边集合E1={(A,B)(B,C)(C,D)(D,A)(A,C)}


有向边:若从顶点vi到vj的边有方向,则称这条边为有向边,也称为弧


用有序偶<vi,vj>来表示,vi称为弧尾,vj称为弧头。如果图中任意两个顶点之间的边都是有向边,则该图为有向图。

G2=(V2,{E2}) 其中顶点集合V2{A,B,C,D} 弧集合E2={<A,D><B,A><C.A><B,C>}


无向边用()表示  有向边用<>表示

在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。


在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。

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


有很少条边或弧的图称为稀疏图


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

带权的图通常称为图


路径的长度是路径上的边或弧的数目。

第一个顶点到最后一个顶点相同的路径称为回路或环。序列中顶点不重复出现的路径称为简单路径,除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环


连通图   

连通分量:无向图中的极大连通子图

1.要是子图

2.子图要是连通的

3.连通子图含有极大顶点数

4.具有极大顶点数的连通子图包含依附于这些顶点的所有边


在有向图G中,如果对于每一对vi,vj属于V,vi不等于vj,从vi到vj和从vj到vi都存在路径,则称G是强连通图。有向图中的极大强连通子图称做有向图的强连通分量。





      本文转自潘阔 51CTO博客,原文链接:http://blog.51cto.com/pankuo/1631338,如需转载请自行联系原作者



相关文章
|
存储 算法 Go
Golang 数据结构:图
Golang 数据结构:图
196 0
|
存储 算法
数据结构===图
数据结构===图
|
算法 Python
逆袭之路!用 Python 玩转图的 DFS 与 BFS,让数据结构难题无处遁形
【7月更文挑战第12天】图的遍历利器:DFS 和 BFS。Python 中,图可表示为邻接表或矩阵。DFS 沿路径深入,回溯时遍历所有可达顶点,适合找路径和环。BFS 层次遍历,先近后远,解决最短路径问题。两者在迷宫、网络路由等场景各显神通。通过练习,掌握这些算法,图处理将游刃有余。
274 3
|
存储 算法 Python
“解锁Python高级数据结构新姿势:图的表示与遍历,让你的算法思维跃升新高度
【7月更文挑战第13天】Python中的图数据结构用于表示复杂关系,通过节点和边连接。常见的表示方法是邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。图遍历包括DFS(深度优先搜索)和BFS(广度优先搜索):DFS深入探索分支,BFS逐层访问邻居。掌握这些技巧对优化算法和解决实际问题至关重要。**
236 1
|
存储 机器学习/深度学习 算法
上机实验三 图的最小生成树算法设计 西安石油大学数据结构
上机实验三 图的最小生成树算法设计 西安石油大学数据结构
290 1
|
存储 算法 C语言
上机实验四 图的最小生成树算法设计 西安石油大学数据结构
上机实验四 图的最小生成树算法设计 西安石油大学数据结构
258 1
|
存储
数据结构学习记录——如何建立图(邻接矩阵、邻接表-图节点的结构、创建并初始化、插入变、完整图的建立)
数据结构学习记录——如何建立图(邻接矩阵、邻接表-图节点的结构、创建并初始化、插入变、完整图的建立)
391 0
|
存储 算法
数据结构学习记录——图应用实例-六度空间(题目描述、算法思路、伪代码及解读、图解)
数据结构学习记录——图应用实例-六度空间(题目描述、算法思路、伪代码及解读、图解)
315 0
|
存储 算法 安全
数据结构学习记录——图应用实例-拯救007(问题描述、解题思路、伪代码解读、C语言算法实现)
数据结构学习记录——图应用实例-拯救007(问题描述、解题思路、伪代码解读、C语言算法实现)
183 0
|
存储 C语言
数据结构学习记录——图的遍历(深度优先搜索、广度优先搜索、为什么需要两种遍历、图不连通怎么办)
数据结构学习记录——图的遍历(深度优先搜索、广度优先搜索、为什么需要两种遍历、图不连通怎么办)
672 0

热门文章

最新文章