离散数学(软件)课程第16章
合集下载
离散数学(第16讲)

1 2 3 4 1 2 3 4 2 4 1 3 (1 2 4 3), 3 2 4 1 ( 3 4 1), (1 2 4 3)(3 4 1) ( 2 4)
2018/11/12 计算机学院 15
例6.3
设
1 2 3 4 5 6 1 2 3 4 5 6 1 1 3 6 5 4 2 , 2 2 1 3 5 6 4
2018/11/12
f2={<a,1>,<b,2>}; f4={<a,2>,<b,2>}。
计算机学院 6
常将从A到B的一切函数构成的集合记为BA:BA={f|f:A→B}
函数相等
定义6.2 f=g。 设 f和g :X→Y是两个函数,如果对
xX ,都有f(x)=g(x), 则称f与g相等,记为
2018/11/12
2018/11/12 计算机学院 14
循环的积
一个置换可能由一个单一的循环表示出来, 也可能由多个循环连接在一起表示,称之为循 环的积(置换的复合)。 当两个循环没有公共元素时,它们的积仍是 原来的两个循环;当两个循环有公共元素时, 它们的积按照复合的意义变成了新的循环的积。 例如
1 2 3 4 5 6 0 3 1 6 4 2 5 (1 3 6 5 2)
2018/11/12 计算机学院 3ຫໍສະໝຸດ §6.1 一般集合的函数概念
定义6.1 设f是集合A到B的关系,如果对每个x∈A,都 存在惟一的y∈B,使得<x,y>∈f,则称关系f为A到B 的函数(或映射、变换),记为f:A→B。当 <x,y>∈f时,通常记为y=f(x),这时称x为函数的自 变量,称y为x在f下的函数值(或映像)。 由函数的定义显然有: 1) domf=A,称为函数f的定义域; 2) ranf=B,称为函数f的值域,并称f(A)为A在f下的像; 3) <x,y>∈f∧<x,z>∈f y=z; 4) |f|=|A|。
离散数学sec16-17 群

整数加群<Z,+>, 由 2 生成的子群是 <2> = { 2k | k∈Z } = 2Z
模 6 加群 <Z6, >中 由 2 生成的子群 <2> = { 0, 2, 4 }
21
特殊子群2
例 设G为群,令C是与G中所有的可交换的元素构 成的集合,即 C={a|a∈G∧x∈G(ax=xa)} 则C是G的子群,称为G的中心。
限群。 群G的基数称为群G的阶,有限群G的阶记作|G|。
(2)只含单位元的群称为平凡群。
(3)若群G中的二元运算是可交换的,则称G为交 换群或阿贝尔(Abel)群。
11
群论中常用的概念-元素的n次幂
定义 设G是群,a∈G,n∈Z,则a的n次幂 P250 定义17.4
e a n a n1a
(a 1 )n
换 σ∈Sn,逆置换σ1是σ 的逆元. 这就证明了Sn关于置换的乘法构成一个群,称为 n
元对称群. n元对称群的子群称为 n元置换群.
31
例 设 S = {1, 2, 3},3元对称群
S3的对称群是? 运算表? S3的子群?
32
n元置换的分解式
• k阶轮换与轮换分解方法 定义11.11 P258
定义 设<G,>是代数系统,为二元运算。如果运 算是可结合的,存在单位元e∈G,并且对G中 的任何元素x都有x-1∈G,则称G为群(group)。 (P249定义17.1)
例 <Z,+>,<Q,+>,<R,+>,<Z+,+>,<N,+>是不是群?
<Zn,>是群?
8
模 6 加群 <Z6, >中 由 2 生成的子群 <2> = { 0, 2, 4 }
21
特殊子群2
例 设G为群,令C是与G中所有的可交换的元素构 成的集合,即 C={a|a∈G∧x∈G(ax=xa)} 则C是G的子群,称为G的中心。
限群。 群G的基数称为群G的阶,有限群G的阶记作|G|。
(2)只含单位元的群称为平凡群。
(3)若群G中的二元运算是可交换的,则称G为交 换群或阿贝尔(Abel)群。
11
群论中常用的概念-元素的n次幂
定义 设G是群,a∈G,n∈Z,则a的n次幂 P250 定义17.4
e a n a n1a
(a 1 )n
换 σ∈Sn,逆置换σ1是σ 的逆元. 这就证明了Sn关于置换的乘法构成一个群,称为 n
元对称群. n元对称群的子群称为 n元置换群.
31
例 设 S = {1, 2, 3},3元对称群
S3的对称群是? 运算表? S3的子群?
32
n元置换的分解式
• k阶轮换与轮换分解方法 定义11.11 P258
定义 设<G,>是代数系统,为二元运算。如果运 算是可结合的,存在单位元e∈G,并且对G中 的任何元素x都有x-1∈G,则称G为群(group)。 (P249定义17.1)
例 <Z,+>,<Q,+>,<R,+>,<Z+,+>,<N,+>是不是群?
<Zn,>是群?
8
14.4+16离散数学

13
有向图关联矩阵的性质: 有向图关联矩阵的性质:
14
有向图关联矩阵的性质: 有向图关联矩阵的性质:
(1)∑ m ij = 0( j = 1,2,⋯, m ) ,从而 ∑ ∑ m ij = 0 ,这说明 j=1 i =1 i =1 有向图关联矩阵中所有元素之和为0。
n
m
n
0 0 0 − 1 1 1 −1 1 0 0 0 0 0 1 1 0 0 − 1 − 1 − 1
(1 ) i = 1 j= 1
n
n
长度为1的通路的总数。 长度为1的通路的总数。 而 中环的个数, 中长度为1的回路总数。 ∑ a ii 为D中环的个数,即D中长度为1的回路总数。
(1 ) i =1 n
24
问下图中有多少条长度为2、3、4…. 的通路?
25
0 0 0 ' A = 0 0 0 0
0 0 0 0
2 1 0 0 1 0 0 0 1 0 1 1
∑a
j= 1
n
(1 ) ij
,于是 n n a (1) = n d + ( v ) = m = d ( v i )(i = 1,2,⋯, n ) ∑ ∑ ij ∑ i
+
i =1 j=1 i =1
∑a
i =1
4
强连通图和单向连通图的判别定理 定理14 14. 定理14.8 有向图D是强连通图当且仅当D中 存在经过每个顶点至少一次的回路。 定理14.9 有向图D是单向连通图当且仅当D 定理14.9 中存在经过每个顶点至少一次的通路。
5
例
(1)
(2)
(3)
(1)是强连通图 (2)是单向连通图 (3)是弱连通图
离散数学 图论-树

中序遍历(次序:左-根-右) 前序遍历(次序:根-左-右) 后序遍历(次序:左-右-根) b 中序遍历: c b e d g f a I k h j 前序遍历: a b c d e f g h i k j 后序遍历: c e g f d b k i j h a
例:给定二叉树,写出三种访问 结点的序列
是否为根树
(a) (no)
(b) (no)
(c) (yes)
从树根到T的任意顶点v的通 路(路径)长度称为v的层数。 v5的层数为 层。
层数最大顶点的层数称为树 高.将平凡树也称为根树。 右图中树高为( )。
v1
v2 v3
v4 v8v5Fra bibliotekv6v7 v10
v9
在根树中,由于各有向边的方向是一 致的,所以画根树时可以省去各边上的所 有箭头,并将树根画在最上方.
等长码:0-000;1-001;2-010;3-011;4-100; 5-101;6-110;7-111. 总权值: W2=3*100=300
4、二叉树的周游(遍历)
二叉树的周游:对于一棵二叉树的每一个结点都访问一次且 仅一次的操作 1)做一条绕行整个二叉树的行走路线(不能穿过树枝) 2)按行走路线经过结点的位臵(左边、下边、右边) 得到周游的方法有三种: 中序遍历(路线经过结点下边时访问结点) 访问的次序:左子树-根-右子树 前序遍历(路线经过结点左边时访问结点) 访问的次序:根-左子树-右子树 后序遍历(路线经过结点右边时访问结点) 访问的次序:左子树-右子树-根
2、根树中顶点的关系
定义:设T为一棵非平凡的根树, v2 ∀vi,vj∈V(T),若vi可达vj,则称vi为 vj的祖先,vj为vi的后代; v4 v5 若vi邻接到vj(即<vi,vj>∈E(T),称 vi为vj的父亲,而vj为vi的儿子 v8 若vj,vk的父亲相同,则称vj与vk是兄 弟
离散数学(第16-17章)陈瑜

2019/1/16 计算机学院 8/128
定理16.1(移项法则)设<R,+, *>是一个环, θ是加法幺元,对任意a,b,c R有: a+b=c a+b-c=θ
2019/1/16
计算机学院
9/128
定理16.2设<R,+, *>是一个环,θ是加法幺 元,对任意a,b,c R有: ① a*θ=θ*a=θ(加法幺元是乘法零元) ② (-a)*b=a*(-b)=-(a*b) ③ (-a) *(-b)=a*b ④ (b-c) *a=b*a-c*a ⑤ a* (b-c)=a*b-a*c
2019/1/16 计算机学院 7/128
例 16.2 设 Zk 表示整数集 Z 上的模 k 剩余类集 合,即: Zk={[0],[1],[2],…,[k-1]} <Zk ,>是群(剩余类加群), <Zk ,>是半群(剩余类乘半群), ∵ 对 [i],[j],[k] Zk 有[i]([j][k])=[i(j+k)]=[ij+ik] =[ij][ik] =([i][j])([i][k]) ∴ <Zk ,,>是环,称为(模k)剩余类环。 特别, k=2时,称为布尔环。
2019/1/16 计算机学院 6/128
例 16.2 设 Zk 表示整数集 Z 上的模 k 剩余类集 合,即: Zk={[0],[1],[2],…,[k-1]} <Zk ,>是群(剩余类加群), <Zk ,>是半群(剩余类乘半群), ∵ 对 [i],[j],[k] Zk 有[i]([j][k])=[i(j+k)]=[ij+ik] =[ij][ik] =([i][j])([i][k]) ∴ <Zk ,,>是环,称为(模k)剩余类环。 特别, k=2时,称为布尔环。
定理16.1(移项法则)设<R,+, *>是一个环, θ是加法幺元,对任意a,b,c R有: a+b=c a+b-c=θ
2019/1/16
计算机学院
9/128
定理16.2设<R,+, *>是一个环,θ是加法幺 元,对任意a,b,c R有: ① a*θ=θ*a=θ(加法幺元是乘法零元) ② (-a)*b=a*(-b)=-(a*b) ③ (-a) *(-b)=a*b ④ (b-c) *a=b*a-c*a ⑤ a* (b-c)=a*b-a*c
2019/1/16 计算机学院 7/128
例 16.2 设 Zk 表示整数集 Z 上的模 k 剩余类集 合,即: Zk={[0],[1],[2],…,[k-1]} <Zk ,>是群(剩余类加群), <Zk ,>是半群(剩余类乘半群), ∵ 对 [i],[j],[k] Zk 有[i]([j][k])=[i(j+k)]=[ij+ik] =[ij][ik] =([i][j])([i][k]) ∴ <Zk ,,>是环,称为(模k)剩余类环。 特别, k=2时,称为布尔环。
2019/1/16 计算机学院 6/128
例 16.2 设 Zk 表示整数集 Z 上的模 k 剩余类集 合,即: Zk={[0],[1],[2],…,[k-1]} <Zk ,>是群(剩余类加群), <Zk ,>是半群(剩余类乘半群), ∵ 对 [i],[j],[k] Zk 有[i]([j][k])=[i(j+k)]=[ij+ik] =[ij][ik] =([i][j])([i][k]) ∴ <Zk ,,>是环,称为(模k)剩余类环。 特别, k=2时,称为布尔环。
离散数学课件16.1-2无向树和生成树

由定理9.1可知m=n-1,将此结果代入 上式经过整理得k≥2,这说明T至少有 2片树叶.
生成树
❖ 设G=<V,E>是无向连通图,T是G的 生成子图,并且T是树,则称T是G的生 成树.
❖ G在T中的边称为T的树枝, ❖ G不在T中的边称为T的弦. ❖ T的所有弦的集合的导出子图称为T
的余树.
(2)为(1)的一棵生成树T,(3)为T 的余树,注意余树不一定是树.
定理 任何连通图G至少存在一棵生成 树.
推论1 设n阶无向连通图G有m条边,则 m≥n-1.
推论2 设n阶无向连通图G有m条边,T 是G的生成树,T'是T的余树,则T'中有 m-n+1条边.
图
基本回路
在图中,实边所示的子图是图G的一 棵生成树T,d,e,f为T的树枝,a,b,c 为T的弦.在T上加弦a,产生G的一 个初级回路aed.在T上加弦b,产生 G的一个初级回路bdf.在T上加弦 c,产生G的一个初级回路cef.这3 个回路中每一个回路都只含一条 弦,其余的边都是树枝,这样的回 路称为基本回路.
定义 设T是n阶连通图G=<V,E>的 一棵生成树,称T的n-1个树枝对应的 G的n-1个割集(每个割集只含一个 树枝,其余的边都是弦)S1,S2,···,Sn-1 为对应生成树T的G的基本割集,称 {S1,S2,···,Sn-1}为对应生成树T的基 本割集系统.
对一个n阶连通图G来说,对应 不同的生成树的基本割集可能 不一样,但基本割集的个数必为 n-1个,这也是G的固有特性.
T有5个树枝a,b,c,d,e,因而有5个基本割 集: Sa={a,g,f}; Sb={b,g,h}; Sc={c,f,h}; Sd={d,i,h}; Se={e,f,i};
生成树
❖ 设G=<V,E>是无向连通图,T是G的 生成子图,并且T是树,则称T是G的生 成树.
❖ G在T中的边称为T的树枝, ❖ G不在T中的边称为T的弦. ❖ T的所有弦的集合的导出子图称为T
的余树.
(2)为(1)的一棵生成树T,(3)为T 的余树,注意余树不一定是树.
定理 任何连通图G至少存在一棵生成 树.
推论1 设n阶无向连通图G有m条边,则 m≥n-1.
推论2 设n阶无向连通图G有m条边,T 是G的生成树,T'是T的余树,则T'中有 m-n+1条边.
图
基本回路
在图中,实边所示的子图是图G的一 棵生成树T,d,e,f为T的树枝,a,b,c 为T的弦.在T上加弦a,产生G的一 个初级回路aed.在T上加弦b,产生 G的一个初级回路bdf.在T上加弦 c,产生G的一个初级回路cef.这3 个回路中每一个回路都只含一条 弦,其余的边都是树枝,这样的回 路称为基本回路.
定义 设T是n阶连通图G=<V,E>的 一棵生成树,称T的n-1个树枝对应的 G的n-1个割集(每个割集只含一个 树枝,其余的边都是弦)S1,S2,···,Sn-1 为对应生成树T的G的基本割集,称 {S1,S2,···,Sn-1}为对应生成树T的基 本割集系统.
对一个n阶连通图G来说,对应 不同的生成树的基本割集可能 不一样,但基本割集的个数必为 n-1个,这也是G的固有特性.
T有5个树枝a,b,c,d,e,因而有5个基本割 集: Sa={a,g,f}; Sb={b,g,h}; Sc={c,f,h}; Sd={d,i,h}; Se={e,f,i};
《离散数学》课件-第16章树

解:易见所求为该图的一棵最小生成树,如图所示 总造价为57
18
16.3 根树及其应用
19
定义(有向树)设D是有向图,如果D的基图是无向 树,则称D为有向树。
在有向树中最重要的是根树。 定义16.6(根树)一棵非平凡的有向树,如果恰有 一个顶点的入度为O,其余所有顶点的入度均为1,则称该 树为根树。 入度为0的顶点称为树根,入度为1出度为0的顶点称 为树叶,入度为1出度不为0的点称为内点,内点和树根统 称为分支点。 树根到一个顶点的有向通路的长度称为该顶点的层数。 层数最大顶点的层数称为树高。 平凡树也称为根树。
2
16.1 树及其性质
3
定义16.1(树和森林) 连通且无回路的无向图称为无向树,简称为树,常用
T表示树。 平凡图为树,称为平凡树。 非连通且每个连通分支是树的无向图称为森林。 T中度数为1的顶点(悬挂顶点)称为树叶,度数大于
1的顶点称为分支点。 称只有一个分支点,且分支点的度数为n-1的n(n≥3)
定义16.8(子树)设T为一棵根树,则其任一顶点v 及其后代导若将层数相同的顶点都 标定次序,则称T为有序树。
根据每个分支点的儿子数以及是否有序,可将根树 分成如下若干类:
定义(跟树分类)设T为一棵根树 (1)若T的每个分支点至多有r个儿子,则称T为r叉 树。又若r叉树是有序的,则称它为r叉有序树。 (2)若T的每个分支点恰好有r个儿子,则称T为r叉 正则树。又若r叉正则树是有序的,则称它为r叉正则有 序树。 (3)若T为r叉正则树,且每个树叶的层数均为树高, 则称T为r叉完全正则树。又若r叉完全正则树是有序的, 则称它为r叉完全正则有序树。
8
平均编码长度为:L = ∑ P( i )× l( i ) = 2.53bit i=1
18
16.3 根树及其应用
19
定义(有向树)设D是有向图,如果D的基图是无向 树,则称D为有向树。
在有向树中最重要的是根树。 定义16.6(根树)一棵非平凡的有向树,如果恰有 一个顶点的入度为O,其余所有顶点的入度均为1,则称该 树为根树。 入度为0的顶点称为树根,入度为1出度为0的顶点称 为树叶,入度为1出度不为0的点称为内点,内点和树根统 称为分支点。 树根到一个顶点的有向通路的长度称为该顶点的层数。 层数最大顶点的层数称为树高。 平凡树也称为根树。
2
16.1 树及其性质
3
定义16.1(树和森林) 连通且无回路的无向图称为无向树,简称为树,常用
T表示树。 平凡图为树,称为平凡树。 非连通且每个连通分支是树的无向图称为森林。 T中度数为1的顶点(悬挂顶点)称为树叶,度数大于
1的顶点称为分支点。 称只有一个分支点,且分支点的度数为n-1的n(n≥3)
定义16.8(子树)设T为一棵根树,则其任一顶点v 及其后代导若将层数相同的顶点都 标定次序,则称T为有序树。
根据每个分支点的儿子数以及是否有序,可将根树 分成如下若干类:
定义(跟树分类)设T为一棵根树 (1)若T的每个分支点至多有r个儿子,则称T为r叉 树。又若r叉树是有序的,则称它为r叉有序树。 (2)若T的每个分支点恰好有r个儿子,则称T为r叉 正则树。又若r叉正则树是有序的,则称它为r叉正则有 序树。 (3)若T为r叉正则树,且每个树叶的层数均为树高, 则称T为r叉完全正则树。又若r叉完全正则树是有序的, 则称它为r叉完全正则有序树。
8
平均编码长度为:L = ∑ P( i )× l( i ) = 2.53bit i=1
离散数学——树ppt课件

11
无向树的性质
定理16.2 设T是n阶非平凡的无向树,则T中至少有两片树叶。
证明
设T有x片树叶,由握手定理及定理16.1可知,
2(n 1) d(vi ) x 2(n x)
由上式解出x≥2。
12
例16.1
例16.1 画出6阶所有非同构的无向树。
解答 设Ti是6阶无向树。 由定理16.1可知,Ti的边数mi=5, 由握手定理可知,∑dTi(vj)=10,且δ(Ti)≥1,△(Ti)≤5。 于是Ti的度数列必为以下情况之一。
(1) 1,1,1,1,1,5 (2) 1,1,1,1,2,4 (3) 1,1,1,1,3,3 (4) 1,1,1,2,2,3 (5) 1,1,2,2,2,2
(4)对应两棵非同构的树, 在一棵树中两个2度顶点相邻, 在另一棵树中不相邻, 其他情况均能画出一棵非同构 的树。
13
例16.1
人们常称只有一个分支点,且分支点的度数为n-1的 n(n≥3)阶无向树为星形图,称唯一的分支点为星心。
知,G-e已不是连通图, 所以,e为桥。
9
(5)(6)
如果G是连通的且G中任何边均为桥,则G中没有回路,但在任 何两个不同的顶点之间加一条新边,在所得图中得到唯一的 一个含新边的圈。
因为G中每条边均为桥,删掉任何边,将使G变成不连通图, 所以,G中没有回路,也即G中无圈。
又由于G连通,所以G为树,由(1) (2)可知,
u,v∈V,且u≠v,则u与v之间存在唯一的路径Г,
则Г∪(u,v)((u,v)为加的新边)为G中的圈, 显然圈是唯一的。
10
(6)(1)
如果G中没有回路,但在任何两个不同的顶点之间加一条新边, 在所得图中得到唯一的一个含新边的圈,则G是树。
无向树的性质
定理16.2 设T是n阶非平凡的无向树,则T中至少有两片树叶。
证明
设T有x片树叶,由握手定理及定理16.1可知,
2(n 1) d(vi ) x 2(n x)
由上式解出x≥2。
12
例16.1
例16.1 画出6阶所有非同构的无向树。
解答 设Ti是6阶无向树。 由定理16.1可知,Ti的边数mi=5, 由握手定理可知,∑dTi(vj)=10,且δ(Ti)≥1,△(Ti)≤5。 于是Ti的度数列必为以下情况之一。
(1) 1,1,1,1,1,5 (2) 1,1,1,1,2,4 (3) 1,1,1,1,3,3 (4) 1,1,1,2,2,3 (5) 1,1,2,2,2,2
(4)对应两棵非同构的树, 在一棵树中两个2度顶点相邻, 在另一棵树中不相邻, 其他情况均能画出一棵非同构 的树。
13
例16.1
人们常称只有一个分支点,且分支点的度数为n-1的 n(n≥3)阶无向树为星形图,称唯一的分支点为星心。
知,G-e已不是连通图, 所以,e为桥。
9
(5)(6)
如果G是连通的且G中任何边均为桥,则G中没有回路,但在任 何两个不同的顶点之间加一条新边,在所得图中得到唯一的 一个含新边的圈。
因为G中每条边均为桥,删掉任何边,将使G变成不连通图, 所以,G中没有回路,也即G中无圈。
又由于G连通,所以G为树,由(1) (2)可知,
u,v∈V,且u≠v,则u与v之间存在唯一的路径Г,
则Г∪(u,v)((u,v)为加的新边)为G中的圈, 显然圈是唯一的。
10
(6)(1)
如果G中没有回路,但在任何两个不同的顶点之间加一条新边, 在所得图中得到唯一的一个含新边的圈,则G是树。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最小生成树:G的所有生成树中权最小的生成树。
例3 求最小生成树。
4 21 3
21 3
解:n=8,执行7次,12 11 5 6
8
56 8
9
79
10
W(T)=1+2+3+5+6+8+9=34
11
求最小生成树的算法——避圈法 (Kruskal) 设G=<V,E,W>, 将非环边按权从小到大排序:e1,
e2, …, em. (1) 取e1在T中 (2) 检查e2, 若e2与e1不构成回路, 则将e2加入T中, 否
则弃去e2. (3) 检查e3,…, 重复进行直至得到生成树为止.
12
例4 求图的一棵最小生成树
W(T)=38
13
16.3 根树及其应用
有向树及有关概念 家族树 根树的分类 最优2元树与Huffman算法 前缀码 遍历
14
1、有向树与根树的定义
有向树:基图为无向树的有向图。 根树:有一个顶点入度为0, 其余的入度均为1的非
平凡的有向树。 树根:有向树中入度为0的顶点。 树叶:有向树中入度为1, 出度为0的顶点。 内点:有向树中入度为1, 出度大于0的顶点。 分支点:树根与内点的总称。 顶点v的层数:从树根到v的通路长度。 树高:有向树中顶点的最大层数。
15
例如下图,有向树
T1
T2
T3
T4
16
根树的画法:树根放上方,省去所有有向边的箭头。 如右图所示
G1
G2
G3
G4
3
2、无向树的性质
定理16.1 设G=<V, E>是n阶m条边的无向图,则下 面各命题是等价的:
(1)G是树(连通无回路); (2)G中任意两个顶点之间存在惟一的路径; (3)G中无回路且m=n1; (4)G是连通的且m=n1; (5)G是连通的且G中任何边均为桥; (6)G中没有回路, 但在任何两个不同的顶点之间
加一条新边后所得图中有惟一的一个含新边的圈.
4
定理16.2 设T 是 n 阶非平凡的无向树,则T中至少 有两片树叶.
例2 设树T有1个3度顶点,2个2度顶点,其余均为树 叶,求树叶数,画出非同构的无向树。
解:用树的性质m=n1和握手定理. 设有x片树叶,于是 n=1+2+x=3+x, 2m=2(n1)=2(2+x)=13+22+x 解出x=3,故T有3片树叶. T的度数列为1, 1, 1, 2, 2, 3
6
16.2 生成树
生成树 性质 最小生成树
7
1、生成树
设G为无向连通图 G的生成树:G的生成子图并且是树。 生成树T的树枝:G在T中的边。 生成树T的弦:G不在T中的边。
生成树T的余树 T :所有弦的集合的导出子图。 注意:T 不一定连通,也不一定不含回路。
右图黑边构成生成树 红边构成余树
解: (1) {2, 3, 4, 4, 5, 5, 7}
5
8
10
(2) {4, 4, 5, 5, 5, 7} (3) {5, 5, 5, 7, 8} (4) {5, 7, 8, 10} (5) {8, 10, 12}
2 34 45 5 (1) (2) (3) 30
12
18
12 18
(6) {12, 18}
有2棵非同构的无向树,如图所示。
5
例3 已知无向树T有5片树叶, 2度与3度顶点各1个, 其 余顶点的度数均为4. 求T的阶数n, 并画出满足要 求的所有非同构的无向树.
解:设T的阶数为n,则边数为n1,4度顶点的个数 为n7。由握手定理得 2m=2(n1)=51+21+31+4(n7) 解出n=8,4度顶点为1个。 T的度数列为1,1,1,1,1,2,3,4 有3棵非同构的无向树。
a是树根
0层
b, e, f, h, i是树叶
1层
c, d, g是内点
2层
a, c, d, g是分支点
a为0层;1层有b,c;
3层
2层有d, e, f ;
3层有g, h;4层有i.
4层
树高为4
17
2、家族树
定义 把根树看作一棵家族树: (1) 若顶点 a 邻接到顶点 b, 则称 b 是 a 的儿子, a 是
19
(a)2叉树
(b)3叉树
(c)3叉正则树
O
A
D
B CE
G
F
HI J
(d)2叉正则树 (e)2叉完全正则树 (f)3叉有序树
20
4、最优2叉树
t
定义 树T的权:WW((Tt) wil(vi )
i1
其中 l(vi)是vi的层数。
最优 2叉树: —— Haffman算法 P314
21
例1 构造关于权{2, 3, 4, 4, 5, 5, 7}的最优2叉树。
8
例1 画生成树
一般地,图G的生成树不唯一。
9
2、性质
定理 任何无向连通图都有生成树. 推论 设n阶无向连通图有m条边, 则mn1.
例2 某地要兴建5个工厂,拟修筑道路连接这5处, 经勘测其道路可依上图的无向边铺设,为使这5 处都相通,问至少要铺几条路?
10
3、最小生成树
T的权:T是无向连通带权图G=<V, E, W>的一棵生 成树,T的各边权之和。
第十六章 树 16.1 无向树
无向树及相关概念 性质
1
1、无向树
无向树:连通无回路的无向图,用T表示 平凡树:平凡图 森林:每个连通分支都是树的非连通的无向图 树叶:树中度数为1的顶点(悬挂顶点) 分支点:树中度数2的顶点
如右图,
图(a)是森林,
图(b)为一棵12阶树。 (a)
(b)
2
例1 判断下列各图是否为树?
5
8 10 5
8 10
7
7
23 (4)
4455 2 3 4455
(5)
(6)
22
最优2叉树如前图。 wi 2 3 7 4 4 5 5 l(vi) 3 3 2 3 3 3 3
∴ W(T)=2×3+3×3+7×2+4×3+4×3 +5×3+5×3=83
最优2叉树不是唯一的,但Huffman算法 得到的树一定是最优2叉树。
b 的父亲; (2) 若b和c为同一个顶点的儿子, 则称b和c是兄弟; (3) 若ab且a可达b, 则称a是b的祖先, b是a的后代.
设v为根树的一个顶点且不是树根, 称v及其所有后 代的导出子图为以v为根的根子树.
18
3、根树的分类
有序树:将根树同层上的顶点规定次序。 r叉树:根树的每个分支点至多有r个儿子。 r叉正则树:根树的每个分支点恰有r个儿子。 r叉完全正则树:树叶层数相同的r元正则树。 r叉有序树:有序的r元树。 r叉正则有序树:有序的r元正则树。 r叉完全正则有序树:有序的r元完全正则树。
例3 求最小生成树。
4 21 3
21 3
解:n=8,执行7次,12 11 5 6
8
56 8
9
79
10
W(T)=1+2+3+5+6+8+9=34
11
求最小生成树的算法——避圈法 (Kruskal) 设G=<V,E,W>, 将非环边按权从小到大排序:e1,
e2, …, em. (1) 取e1在T中 (2) 检查e2, 若e2与e1不构成回路, 则将e2加入T中, 否
则弃去e2. (3) 检查e3,…, 重复进行直至得到生成树为止.
12
例4 求图的一棵最小生成树
W(T)=38
13
16.3 根树及其应用
有向树及有关概念 家族树 根树的分类 最优2元树与Huffman算法 前缀码 遍历
14
1、有向树与根树的定义
有向树:基图为无向树的有向图。 根树:有一个顶点入度为0, 其余的入度均为1的非
平凡的有向树。 树根:有向树中入度为0的顶点。 树叶:有向树中入度为1, 出度为0的顶点。 内点:有向树中入度为1, 出度大于0的顶点。 分支点:树根与内点的总称。 顶点v的层数:从树根到v的通路长度。 树高:有向树中顶点的最大层数。
15
例如下图,有向树
T1
T2
T3
T4
16
根树的画法:树根放上方,省去所有有向边的箭头。 如右图所示
G1
G2
G3
G4
3
2、无向树的性质
定理16.1 设G=<V, E>是n阶m条边的无向图,则下 面各命题是等价的:
(1)G是树(连通无回路); (2)G中任意两个顶点之间存在惟一的路径; (3)G中无回路且m=n1; (4)G是连通的且m=n1; (5)G是连通的且G中任何边均为桥; (6)G中没有回路, 但在任何两个不同的顶点之间
加一条新边后所得图中有惟一的一个含新边的圈.
4
定理16.2 设T 是 n 阶非平凡的无向树,则T中至少 有两片树叶.
例2 设树T有1个3度顶点,2个2度顶点,其余均为树 叶,求树叶数,画出非同构的无向树。
解:用树的性质m=n1和握手定理. 设有x片树叶,于是 n=1+2+x=3+x, 2m=2(n1)=2(2+x)=13+22+x 解出x=3,故T有3片树叶. T的度数列为1, 1, 1, 2, 2, 3
6
16.2 生成树
生成树 性质 最小生成树
7
1、生成树
设G为无向连通图 G的生成树:G的生成子图并且是树。 生成树T的树枝:G在T中的边。 生成树T的弦:G不在T中的边。
生成树T的余树 T :所有弦的集合的导出子图。 注意:T 不一定连通,也不一定不含回路。
右图黑边构成生成树 红边构成余树
解: (1) {2, 3, 4, 4, 5, 5, 7}
5
8
10
(2) {4, 4, 5, 5, 5, 7} (3) {5, 5, 5, 7, 8} (4) {5, 7, 8, 10} (5) {8, 10, 12}
2 34 45 5 (1) (2) (3) 30
12
18
12 18
(6) {12, 18}
有2棵非同构的无向树,如图所示。
5
例3 已知无向树T有5片树叶, 2度与3度顶点各1个, 其 余顶点的度数均为4. 求T的阶数n, 并画出满足要 求的所有非同构的无向树.
解:设T的阶数为n,则边数为n1,4度顶点的个数 为n7。由握手定理得 2m=2(n1)=51+21+31+4(n7) 解出n=8,4度顶点为1个。 T的度数列为1,1,1,1,1,2,3,4 有3棵非同构的无向树。
a是树根
0层
b, e, f, h, i是树叶
1层
c, d, g是内点
2层
a, c, d, g是分支点
a为0层;1层有b,c;
3层
2层有d, e, f ;
3层有g, h;4层有i.
4层
树高为4
17
2、家族树
定义 把根树看作一棵家族树: (1) 若顶点 a 邻接到顶点 b, 则称 b 是 a 的儿子, a 是
19
(a)2叉树
(b)3叉树
(c)3叉正则树
O
A
D
B CE
G
F
HI J
(d)2叉正则树 (e)2叉完全正则树 (f)3叉有序树
20
4、最优2叉树
t
定义 树T的权:WW((Tt) wil(vi )
i1
其中 l(vi)是vi的层数。
最优 2叉树: —— Haffman算法 P314
21
例1 构造关于权{2, 3, 4, 4, 5, 5, 7}的最优2叉树。
8
例1 画生成树
一般地,图G的生成树不唯一。
9
2、性质
定理 任何无向连通图都有生成树. 推论 设n阶无向连通图有m条边, 则mn1.
例2 某地要兴建5个工厂,拟修筑道路连接这5处, 经勘测其道路可依上图的无向边铺设,为使这5 处都相通,问至少要铺几条路?
10
3、最小生成树
T的权:T是无向连通带权图G=<V, E, W>的一棵生 成树,T的各边权之和。
第十六章 树 16.1 无向树
无向树及相关概念 性质
1
1、无向树
无向树:连通无回路的无向图,用T表示 平凡树:平凡图 森林:每个连通分支都是树的非连通的无向图 树叶:树中度数为1的顶点(悬挂顶点) 分支点:树中度数2的顶点
如右图,
图(a)是森林,
图(b)为一棵12阶树。 (a)
(b)
2
例1 判断下列各图是否为树?
5
8 10 5
8 10
7
7
23 (4)
4455 2 3 4455
(5)
(6)
22
最优2叉树如前图。 wi 2 3 7 4 4 5 5 l(vi) 3 3 2 3 3 3 3
∴ W(T)=2×3+3×3+7×2+4×3+4×3 +5×3+5×3=83
最优2叉树不是唯一的,但Huffman算法 得到的树一定是最优2叉树。
b 的父亲; (2) 若b和c为同一个顶点的儿子, 则称b和c是兄弟; (3) 若ab且a可达b, 则称a是b的祖先, b是a的后代.
设v为根树的一个顶点且不是树根, 称v及其所有后 代的导出子图为以v为根的根子树.
18
3、根树的分类
有序树:将根树同层上的顶点规定次序。 r叉树:根树的每个分支点至多有r个儿子。 r叉正则树:根树的每个分支点恰有r个儿子。 r叉完全正则树:树叶层数相同的r元正则树。 r叉有序树:有序的r元树。 r叉正则有序树:有序的r元正则树。 r叉完全正则有序树:有序的r元完全正则树。