第02章 图论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
e2 n4 e3 n3
3-5
e1 n2 e4 n5
WHPU
n7
e5 e6 n6
2.1 无向图
定义2.4 相邻矩阵 :拥有m个节点和n条边的图G=(V, 定义2.4 拥有m个节点和n条边的图G=(V, G=(V E)的相邻矩阵是一种 的相邻矩阵是一种m 矩阵,其中第i行第j E)的相邻矩阵是一种m×m矩阵,其中第i行第j列的元 素是1 当且仅当节点i和节点j之间存在一条边, 素是1,当且仅当节点i和节点j之间存在一条边,否则 该元素是0 该元素是0。 案例
n1 e2 n4 e3 e5 e6 n6 e1 n2 e4 n5
WHPU
n7
indeg(n7)=0 outdeg(n7)=0
n3
3-14
2.2 有向图
定义2 12有向图的相邻矩阵 拥有m 有向图的相邻矩阵: 定义 2 . 12 有向图的相邻矩阵 : 拥有 m 个节点的有向图 D=(V,E)的相邻矩阵是一种 的相邻矩阵是一种m 矩阵,其中第i行第j D=(V,E) 的相邻矩阵是一种 m×m 矩阵 , 其中第 i 行第 j 列的元素是1 当且仅当节点i到节点j存在一条边, 列的元素是1,当且仅当节点i到节点j存在一条边,否 则该元素是0 则该元素是0。
案例: 案例: <n3,n4>,<n4,n6>,<n6,n3>
n1 e2 n4 e3 n3
3-17
e1 n2 e5 e4 n5 WHPU n7
wk.baidu.com
e6
n6
2.2 有向图
定义2.15 半路径:(有向 半路径是一系列边,使得对于该序列 半路径: 有向 半路径是一系列边, 有向)半路径是一系列边 定义 中至少有一个相邻边对偶ei、 来说 来说, 中至少有一个相邻边对偶 、ej来说 , 第一条边的初始节点是 第二条边的初始节点, 第二条边的初始节点,或第一条边的终止节点是第二条边的终 止节点。 案例 e2 n4 e3 n3
n1
案例
e2 n4 e3 n3 e6 e5 n6
e1 n2 e4 n5
WHPU
n7
3-15
2.2 有向图
定义2.13 路径:(有向 路径是一系列边,使得对于该 路径: 有向 路径是一系列边, 有向)路径是一系列边 定义 序列中的所有相邻边对偶ei、 来说 来说, 序列中的所有相邻边对偶 、ej来说 , 第一条边的终 止节点是第二条边的初始节点。 止节点是第二条边的初始节点。 案例
3-18
n1 e1 n2 e5 e6 n6 e4 n5
WHPU
n7
2.2 有向图
定义2 连接:对有向图中的两个节点n 定义 2 . 17 0 - 连接 :对有向图中的两个节点 ni 和 nj, 当且仅当 之间没有路径, 连接的。 ni 和nj之间没有路径,称ni 和nj是0-连接的。 定义2 连接:对有向图中的两个节点n 定义 2 . 18 1 - 连接 :对有向图中的两个节点 ni 和 nj, 当且仅当 之间有一条半路径,但是没有路径, ni 和nj之间有一条半路径,但是没有路径,称ni 和nj是1-连接 弱连接”等价关系,不考虑方向) 的。(“弱连接”等价关系,不考虑方向) 定义2 连接:对有向图中的两个节点n 定义 2 . 19 2 - 连接 :对有向图中的两个节点 ni 和 nj, 当且仅当 之间有一条路径, 连接的。 ni 和nj之间有一条路径,称ni 和nj是2-连接的。 定义2 连接:对有向图中的两个节点n 定义 2 . 20 3 - 连接 :对有向图中的两个节点 ni 和 nj, 当且仅当 有一条路径,并且从n 有一条路径, 从 ni 到 nj有一条路径,并且从nj 到ni 有一条路径, 称 ni 和 nj 是 3-连接的。(等价) 连接的。 等价)
V={n1,n2,n3,n4,n5,n6,n7}
e2
1
E={ e1,e2,e3,e4,e5,e6} ={(n1,n2),(n1,n4), (n3,n4),(n2,n5), (n4,n6),(n3,n6)}
n4 e3 n3 e6 e5 n6
n2 e4 n5
n7
WHPU
3-3
2.1 无向图
定义2.2节点的度 定义2.2节点的度 2.2
WHPU
n7
2.1 无向图
定义2.3 关联矩阵:拥有m个节点和n条边的图G=(V, 定义2.3 关联矩阵:拥有m个节点和n条边的图G=(V, G=(V E)的关联矩阵是一种 的关联矩阵是一种m 矩阵,其中第i行第j E)的关联矩阵是一种m×n矩阵,其中第i行第j列的元 素是1 当且仅当节点i是边j的一个端点, 素是1,当且仅当节点i是边j的一个端点,否则该元素 是0 。 案例 n
n1 e2 n4 e3 n3
3-6
e1 n2 e4 n5
WHPU
n7
e5 e6 n6
2.1 无向图
定义2.5 路径:路径是一系列的边,对于序列中的任 定义2.5 路径:路径是一系列的边, 何相邻边对偶e 边都拥有相同的(节点)端点。 何相邻边对偶ei、ej,边都拥有相同的(节点)端点。 路径可以使用二项形式的矩阵乘法和加法, 路径可以使用二项形式的矩阵乘法和加法,直接通过 图的相邻矩阵生成 案例 n1
WHPU
3-8
2.1 无向图
定义2.7组件:图的组件是相连节点的最大集合。 定义2.7组件:图的组件是相连节点的最大集合。 2.7组件
案例:两个组件{n1,n2,n3,n4,n5,n6}, 案例:两个组件{n1,n2,n3,n4,n5,n6},{n7} {n1,n2,n3,n4,n5,n6}
定义2.8 压缩图 给定图G=(V,E) G=(V,E), 定义2.8 压缩图:给定图G=(V,E),其压缩图通过用 2. 压缩节点替代每个组件构成。 压缩节点替代每个组件构成。
e2 n4 e3 n3
3-7
e1 n2 e4 n5
WHPU
n7
e5 e6 n6
2.1 无向图
连接性:节点n 是被连接的, 定义2.6 连接性:节点ni和nj是被连接的,当且仅当 它们都在同一条路径上
自反:因为每个节点显然都在到其本身长度为0 自反:因为每个节点显然都在到其本身长度为0的路径上 对称:由于如果n 在一条路径上, 对称:由于如果ni和nj在一条路径上,则nj和ni也在同一条路 径上 传递:由于如果n 在一条路径上, 在一条路径上, 传递:由于如果ni和nk在一条路径上,nk和nj在一条路径上, 则ni和nj也在同一条路径上
e2 n4 e3 n3 e6 e5 n6 n1 e1 n2 e4 n5
WHPU
3-10
n7
2.2 有向图
定义2 定义2.10 有向图
有向图D=(V,E) 包含 一个节点的有限集合V={n 包含: 有向图 D=(V,E)包含 : 一个节点的有限集合 V={n1,n2,… D=(V ,nm}, 一 个 边 的 集 合 E={e1,e2,…,ep}, 其 中 每 条 边 , 是节点n ∈V的一个有序对偶 的一个有序对偶。 ek=< ni,nj>,是节点ni、nj∈V的一个有序对偶。 一般图和有向图之间的差别与说明式和命令式程序设计语言 之间的差别与说明式 一般图和有向图之间的差别与说明式和命令式程序设计语言 之间的差别有很强的类比性 C和Prologue,实体/关系(ER)模型 Prologue,实体/关系(ER)模型
WHPU
3-11
2.2 有向图
定义2 定义2.10 有向图 案例
V={ n1,n2,n3,n4,n5,n6,n7} E={ e1,e2,e3,e4,e5,e6} ={<n ={<n1,n2>,<n1,n4>, <n3,n4>,<n2,n5>, <n4,n6>,<n6,n3> } e2 n4 e3
3-12
节点的度是以该节点作为端点的边的条数 节点n的度记做deg(n) 节点n的度记做deg(n)
案例
deg(n1)=2 deg(n2)=2 deg(n3)=2 deg(n4)=3 deg(n5)=1 deg(n6)=2 deg(n7)=0
3-4
n1 e2 n4 e3 n3 e6 e5 n6 e1 n2 e4 n5


主讲教师: 主讲教师 丁月华 Email:ding_mickey@sina.com
章节内容
掌握无向图的基本概念 掌握有向图的基本概念 掌握用于测试的图的表示方法 2.1 无向图 2.2 有向图 2.3 用于测试的图
WHPU
3-2
2.1 无向图
定义2.1 无向图: 图G=(V,E)由节点的有限 并且非空 无向图: 由节点的有限(并且非空 定义 , 由节点的有限 )集合 和节点无序对偶集合 组成。 V={n1,n2,… 集合V和节点无序对偶集合 组成。 集合 和节点无序对偶集合E组成 其中每条边e ,nm} E={e1,e2,…,ep} 其中每条边 k={ ni,nj}, , , ni、nj∈V。集合 ni,nj}是一个无序对偶,记做 i, 是一个无序对偶, 。集合{ 是一个无序对偶 记做(n nj)。 。 n1 案例 e
WHPU
3-13
2.2 有向图
定义2.11 内度与外度 定义2.11
案例
indeg(n1)=0 outdeg(n1)=2 indeg(n2)=1 outdeg(n2)=1 indeg(n3)=1 outdeg(n3)=1 indeg(n4)=2 outdeg(n4)=1 indeg(n5)=1 outdeg(n5)=0 indeg(n6)=1 outdeg(n6)=1
n1 e1 n2 e5 e4 n5
WHPU
n7
n3
e6
n6
2.2 有向图
定义2.11 内度与外度 定义2.11
有向图中节点的内度, 有向图中节点的内度,是将该节点作为终止节点的不同边的 条数。节点n的内度记做indeg indeg( 条数。节点n的内度记做indeg(n)。 有向图中节点的外度, 有向图中节点的外度,是将该节点作为开始节点的不同边的 条数。节点n的外度记做outdeg(n) outdeg(n)。 条数。节点n的外度记做outdeg(n)。 deg(ni)=indeg(ni)+outdeg(ni)
WHPU
3-19
2.2 有向图
有向图连接性案例
n1和n7 是0-连接 n2和n6 是1-连接 n1 n1和n6 是2-连接 e2 连接。 n3和n6 是3-连接。 n4 e3 n3 e6 e5 n6 n2 e4 n5
WHPU
3-20
e1 n7
2.2 有向图
定义2 21强组件 有向图的强组件是3 强组件: 定义2.21 强组件 : 有向图的强组件是 3-连接节点的最 大集合。 大集合。 强组件是集合{ 案例 :强组件是集合{ n3、n4、n6}和{n7},
e2 n4 e3
e2<n1, n4>, e5 <n4, n6> e1<n1,n2> , e4< n2, n5> e3<n3,n4> , e5< n4, n6>
3-16
n1 e1 n2 e5 e6 n6 e4 n5
WHPU
n7
n3
2.2 有向图
定义2.14 环路:环路是一个在同一个节点上开始和结 环路: 定义 束的有向路径。 束的有向路径。
WHPU
3-22
2.3.1 程序图
定义2 程序图: 定义 2 . 22 程序图 : 给定一个采用命令式程序设计语言编写的 程序,其程序图是一种有向图,其中节点是程序语句 程序语句, 程序,其程序图是一种有向图,其中节点是程序语句,边表示 控制流(从节点i到节点j有一条边,当且仅当对应节点j 控制流(从节点i到节点j有一条边,当且仅当对应节点j的语句 可以立即在节点i对应的语句之后执行) 可以立即在节点i对应的语句之后执行)。 补充:对该定义也可进行改进, 补充:对该定义也可进行改进,即将节点修改为要么是整个语 要么是语句的一部分。 句,要么是语句的一部分。 程序图有时候也称为“流图” 程序图有时候也称为“流图”
n1 e2 n4 e3 n3
3-21
e1 n2 e4 n5 n7
n1 e2 S
1
e1 n2 e4 n5
压缩图
WHPU
S
2
e5 e6 n6
2.3 用于测试的图
2.3.1 程序图 2.3.2 有限状态机 Petri网 不做要求) 2.3.3 Petri网 (不做要求) 2.3.4 事件驱动的Petri网 (不做要求) 事件驱动的Petri Petri网 不做要求) 2.3.5 状态图
n1 e2 n4 e3 n3
3-9
e1 n2 e4 n5
WHPU
n7
e5 e6 n6
2.1 无向图
定义2 圈复杂度: 的圈数由V(G)= n+p给出 V(G)=e 给出, 定义 2 . 9 圈复杂度 : 图 G 的圈数由 V(G)=e-n+p 给出 , 其中: 中的边数。 中的节点数。 其中:e是G中的边数。n是G中的节点数。p是G中的组 件数。 件数。 案例:V(G)=6 案例:V(G)=6-7+2=1
相关文档
最新文档