离散数学基础图论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
离散数学基础:图论
Fundamentals of Discrete Mathematics: Graph Theory
周晓聪(isszxc@) 中山大学计算机科学系, 广州 510275
年 月 日 2008 11 9
2
版权所有,翻印必究
第三章 路径问题
这一章集中考虑几个与图的路径有关的几个问题,包括有向图中任意两点之间的最短路径,图 的最小生成树,以及有向网络关键路径问题,这些问题都是在实际应用中经常遇到的问题,例如求 网络的关键路径是项目管理(包括软件开发项目)中的重要问题之一。
3.1 最短路径
3
达比v较5)在u;5这比=里较∞,u和我6u=们3 +∞看d和到35uv=33的+3,邻d3因接6 此=顶将8点,u有因5修v此2改,将v为5u,63v修,6,相改比应为较地8u,将2相=q应57的和地值u将改3 q+6为的dv3值32(=也即7修v,1改经因为过此vv仍33,可保因以持此比u得2较的到快值:地为到7;
S = {v2, v4, v6}
U = 0, 6, 1, 8, 3, 8
到此为至的计算结果也可用下表给出:
Q = v1, v5, v1, v5, v3, v3
第0步 第1步 第2步
v1 0
v2 7/v1 7/v1 6/v5
U = ∞, 7, 1, ∞, ∞, ∞
而对任意的1 ≤ i ≤ n,都令qi = v1,即目前考虑的可能前趋都是v1:
Q = v1, v1, v1, v1, v1, v1
或者说,按照耿素云教材,我们使用下表给出U和Q:
第0步
v1 0
v2 7/v1
v3 1/v1
v4
v5
v6
∞Байду номын сангаасv1 ∞/v1 ∞/v1
G = (V, E) V = {v1, v2, · · · , vn}
最短路径,则路径 是 到 的最短路径。 v1, v2, · · · , vk−1 v1 vk−1
v1, v2, · · · , vk−1, vk v1 vk
根据这一点,Dijkstra 算法的基本思想。
设计了一个求v1到其他各顶点的最短距离。我们以一个例子说明Dijkstra
上不用表在再中U计的中算值那。都些而是上u以i是未ui无求/q穷得i的时最形,短式q路i的给径值出顶实。点其际的中上编以暂号盒时所子没对框有应参住的考的u意ui值1义,中这。的只最是小表者示uvj1,到即v令1的最短路径约定为0,
uj = min ui
i∈S
顶边点具e点即体=的可到路,上v1也径,面v就长3的是,度有其说可向长,能网v度比1原络就以来的是v3不距1为,能离中因到间矩此达顶阵将的点,v顶3的我从点路们S,中径得现删长到在除度最可,要能小同短可的时。经是修过u改3vU3=到中1达的,了u这i,值表或,示者只v说1针到虽对v然3v的3原在最来S短中v1路的能径邻到就接达的是顶
上改为6表v5,在下以q2S盒一的中子值步的框修我邻住改们接u为考3顶的v虑点5值;u,比,2即,表较uv4示2u,和u4v5=3v,已4u∞所6经中和对求的u应得5最的+最小ud短25者和4路=,u径4显8的,,然值将在最,u后4即小的续比者值的较修是步u改u骤25=为中=78我和,3们,qu45不的因+用值此d再修5将2 考改=5从虑为6S,它v中5将,。删u因2的除此值,得并修到修改:
其距离矩阵为:
v1 ∞ 7 1 ∞ ∞ ∞
v2 ∞ ∞ ∞
4

1
v3 ∞ 6 ∞ ∞ 2 7
v4 ∞ ∞ ∞ ∞ ∞ ∞
v5 ∞ 3 ∞ 5 ∞ ∞
v6 ∞ ∞ ∞ ∞ 3 ∞
我们(利1)用SD记ijk录st尚ra未算求法得求最v1短到路各径点顶的点最的短集路合径;。需要三个集合(或数组)来记录求解过程中的信息。 n开=始6((时23),)),也UQ自即然==:S((qui=i))11≤{≤vii≤≤2,nnv是是3,以以v4顶顶, v点5点, v编编6}号号((为表顶下示点标v2v的到i的数v6编组都号,没是q有i记i求)录为得v下1最到标短v的i路的数径最组)短,,路而ui径u记1中录=的v01v,到iu的vii直=的接最d1前i短(2趋距≤。离i ;≤
S = {v2, v4, v5, v6}
U = 0, 7, 1, ∞, 3, 8
到此为至的计算结果也可用下表给出:
Q = v1, v1, v1, v1, v3, v3
第0步 第1步
v1 0
v2 7/v1 7/v1
v3 1/v1 1 /v1
v4 ∞/v1 ∞/v1
v5 ∞/v1 3/v3
v6 ∞/v1 8/v3
G = (V, E) V = {v1, v2, · · · , vn}
G
Dn×n = [dij ]
若存在有向边 dij = wij 否则 ∞
e = vi, vj ∈E
权路定径义长度为:给定有向网络 ,设 。定义有向路径 的带 3.1.3
G = (V, E) V = {v1, v2, · · · , vn}
例子 3.1.5 考虑下图所示的有向网络:
1
2
第三章 路径问题
v1•ccccc17cc?ccvvcc632c••cOcccc4cc? cccvc?412c•73coc/ cccccccccccc_c5ccccccccvcc••O6v35
Γ = vi1 vi2 · · · vik
k−1
d(Γ) =
wij ij+1
j=1
径若,定v点i到vvi可j的达最v短j,路则径称的vi带到权vj路的径所长有度有称向为路vi径到中vj
具有最小带权 的最短距离。







为 到vi vj
的最


显然我们有:
定理 给定有向网络 ,设 。若路径 是 到 的 3.1.4
3.1 最短路径
定义 3.1.1 给定有向图G = ,设 (V, E) V 一个非负实数权wij,则称图G为有向网络。
。如果给每一条有向边 = {v1, v2, · · · , vn}
e=
vi, vj

假定这里考虑的有向网络都是简单有向图,即没有多重边(或说有多重边时取权最小的边),也 没有环。
其中定义 给定有向网络 ,设 。定义 的距离矩阵 , 3.1.2
相关文档
最新文档