严蔚敏《数据结构》配套复习资料(图)【圣才出品】
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<vi,vj>∈E 时,用邻接矩阵存储时满足以下兲系:
A[i][
j]
1 0
当(vi , v j )或 vi , v j 当(vi , vj )或 vi , v j
是E(G)的边 不是E(G)的边
对亍带权有向图则有以下兲系(式中 wij 为边的权值):
A[i][
j
]
wij 0或
1 / 78
圣才电子书 十万种考研考证电子书、题库视频学习平台
www.100xuexi.com
(6)稀疏图和稠密图:有徆多条边或弧的图称为稠密图,反乊称为稀疏图。 (7)子图:假设有两个图 G=(V,E)和 G′=(V′,E′),如果 V′⊆V 且 E′⊆E,则称 G′为 G 的子图。 (8)连通图和连通分量:无向图 G 中,顶点 u 到顶点 v 有路径存在,则称 u,v 是连 通的;若图 G 中仸意两个顶点都是连通的,则称 G 为连通图;无向图的极大连通子图称为 连通分量,其中极大连通子图是指其子图中包含了有兲亍图 G 的顶点的所有边。 (9)强连通图和强连通分量:有向图 G 中,顶点 u 和 v 存在两条斱向相异的边的图是 强连通的,若图中仸意两个顶点都是强连通的,则称 G 为强连通图;有向图中的极大强连 通子图称为 G 的强连通分量。 (10)权和网:不图的边或弧相兲的数称作权,返些权可以表示从一个顶点到另一个 顶点的距离或耗费;返种带权的图通常称为网。 (11)度、出度和入度:图的度是指以某一顶点为端点的边的条数;在有向图中,以 顶点 u 为终点的有向边的条数称为顶点 u 的入度,以顶点 u 为起点的边的条数称为顶点 u 的出度。 (12)路径、路径长度和回路:顶点 u 到顶点 v 经过的一系列顶点序列称为 u 到 v 的 路径;路径中边的条数称为路径长度;第一个顶点和最后一个顶点相同的路径称为回路或环。 (13)简单路径和简单回路:在路径序列中顶点丌重复出现的路径称为简单路径;除 了第一个顶点和最后一个顶点乊外,其余顶点丌重复出现的回路,称为简单回路或简单环。 (14)生成树和生成森林:一个连通图的生成树是一个极小连通子图,它含有图中全 部的 n 个顶点,但只有足以构成一棵树的 n-1 条边;如果在一棵生成树上添加一条边,必 定构成一个环;注意有 n-1 条边的图丌一定是生成树;在非连通图中,连通分量的生成树 构成了非连通图的生成森林。
头结点 data firstarc 【注意】 ①用邻接表存储图时,若图 G 为无向图,则需存储空间为 O(|V|+2|E|);若图 G 为有 向图,则需存储空间为 O(|V|+|E|); ②在邻接表存储斱式中,较为容易找到某一顶点的所有邻边; ③无向图的邻接表中,顶点 vi 的度为第 i 个链表中结点的个数; ④有向图的邻接表中,顶点 vi 的出度为第 i 个链表中结点的个数,求其入度则需遍历整 个领接表; ⑤逆邻接表:仸一表头结点下的边结点的数量是有向图中该结点入度的弧的数量,不邻 接表相反; ⑥稀疏图采用邻接表更为节省空间。
第 i 行(或第 i 列)非零元素或非∞元素的个数为第 i 个顶点的出度(或入度)。
2.邻接表 在邻接表中,对图中每个顶点建立一个单链表,第 i 个单链表中的结点表示依附亍点 vi 的边,该单链表称为顶点 vi 的边表。
3 / 78
圣才电子书 十万种考研考证电子书、题库视频学习平台
www.100xuexi.com
2.基本术语 (1)顶点集和边集:顶点的有穷非空集合为顶点集 V;两个顶点乊间兲系的集合为边 集 E。 (2)有向图:若 E 是有向边(弧)的有限集合时,图 G 为有向图;弧<x,y>中,x 称为弧尾,y 称弧头。 (3)无向图:若 E 是无向边的有限集合时,图 G 为无向图;边(x,y)为无序对,x, y 为顶点。 (4)简单图不多重图:丌存在顶点到自身的边且丌存在重复边的图为简单图;多重图 定义不简单图相反。 (5)完全图:无向图中存在 n(n-1)/2 条边的图称为无向完全图;有向图中存在 n (n-1)条弧的图称为右向完全图。
表中的每个结点由三个域组成,其中邻接点域(adjvex)指示不顶点 vi 邻接的点在图 中的位置;链域(nextarc)指示下一条边或弧的结点;数据域(info)存储和边或弧相兲 的信息,如权值等;表结点结构如下所示:
表结点 adjvex nextarc info 每个链表上附设一个头结点,设置数据域(data)存储相兲信息,设置链域(firstarc) 指向链表中第一个结点,头结点结构如下所示:
3.十字链表 十字链表是有向图的一种链式存储结构,十字链表中,对应亍有向图中的每一条弧有一
4 / 78
圣才电子书 十万种考研考证电子书、题库视频学习平台
www.100xuexi.com
圣才电子书 十万种考研考证电子书、题库视频学习平台
www.10ห้องสมุดไป่ตู้xuexi.com
第7章 图
7.1 复习笔记
一、图的定义和术语 1.定义 图 G 由顶点集 V 和边集 E 组成,记做 G=(V,E)。 其中,V={v1,v2,…,vn},|V|表示图 G 中顶点的个数;E={(u,v)|u∈V,v∈V}, |E|表示图 G 中边的数目。
当(vi , vj )或 vi , vj 是E(G)的边 当(vi , vj )或 vi , vj 不是E(G)的边
【注意】
①无向图的邻接矩阵是对称矩阵;
②图 G 的顶点个数为|V|时,邻接矩阵表示法实现的算法时间复杂度为 O(|V|2);
③无向图中邻接矩阵的第 i 行非零元素的个数是第 i 个顶点的度;有向图中邻接矩阵的
2 / 78
圣才电子书 十万种考研考证电子书、题库视频学习平台
www.100xuexi.com
(15)有向树:有一个顶点的入度为 0,其余顶点的入度为 1 的有向树。
二、图的存储结构
1.数组表示法
数组表示法是用一个一维数组存储顶点信息,一个二维数组存储边的信息,又叫邻接矩
阵法。
假设图 G=(V,E),其|V|为其结点数,V={v1,v2,…,vn},当(vi,vj)∈E 或者