第一章图的基本概念 本次课主要内容 最短路算法、图的代数表示 (一)、最短路算法 (二)、图的代数表示 1、图的邻接矩阵 2、图的关联矩阵
0.8 1 0.6 0.4 0.2 0 x t 0 0.5 1 1.5 2 −1 −0.5 0 0.5 1 n 1 第一章 图的基本概念 本次课主要内容 最短路算法、图的代数表示 (一)、最短路算法 (二)、图的代数表示 1、图的邻接矩阵 2、图的关联矩阵
(一)、最短路算法 1、相关概念 (1)赋权图 在图G的每条边上标上一个实数w(©)后,称G为边赋权图。 被标上的实数称为边的权值。 若H是赋权图G的一个子图,称 W(H)=∑w(e 为子图H e∈E(H) 的权值。 权值的意义是广泛的。可以表示距离,可以表示交通运费, 可以表示网络流量,在朋友关系图甚至可以表示友谊深度。 但都可以抽象为距离
0.8 1 0.6 0.4 0.2 0 x t 0 0.5 1 1.5 2 −1 −0.5 0 0.5 1 n 2 1、相关概念 (1) 赋权图 ( ) ( ) ( ) e E H W H w e = (一)、最短路算法 在图G的每条边上标上一个实数w (e)后, 称G为边赋权图。 被标上的实数称为边的权值。 若H是赋权图G的一个子图,称 为子图H 的权值。 权值的意义是广泛的。可以表示距离,可以表示交通运费, 可以表示网络流量,在朋友关系图甚至可以表示友谊深度。 但都可以抽象为距离
(2)赋权图中的最短路 设G为边赋权图。u与v是G中两点,在连接u与v的所有路 中,路中各边权值之和最小的路,称为ū与v间的最短路。 (3)算法 解决某类问题的一组有穷规则,称为算法。 1)好算法 算法总运算量是问题规模的多项式函数时,称该算法为好 算法。(问题规模:描述或表示问题需要的信息量) 算法中的运算包括算术运算、比较运算等。运算量用运算 次数表示。 2)算法分析
0.8 1 0.6 0.4 0.2 0 x t 0 0.5 1 1.5 2 −1 −0.5 0 0.5 1 n 3 (2) 赋权图中的最短路 设G为边赋权图。u与v是G中两点,在连接u与v的所有路 中,路中各边权值之和最小的路,称为u与v间的最短路。 解决某类问题的一组有穷规则,称为算法。 (3) 算法 1) 好算法 算法总运算量是问题规模的多项式函数时,称该算法为好 算法。(问题规模:描述或表示问题需要的信息量) 算法中的运算包括算术运算、比较运算等。运算量用运算 次数表示。 2) 算法分析
对算法进行分析,主要对时间复杂性进行分析。分析运算 量和问题规模之间的关系。 2、最短路算法 1959年,旦捷希①antjig)发现了在赋权图中求由点a到点 b的最短路好算法,称为顶点标号法。 t(an):点an的标号值,表示点a1=a到an的最短路长度 A;={a1,a2,a:已经标号的顶点集合。 T:a到a的最短路上的边集合 算法叙述如下:
0.8 1 0.6 0.4 0.2 0 x t 0 0.5 1 1.5 2 −1 −0.5 0 0.5 1 n 4 对算法进行分析,主要对时间复杂性进行分析。分析运算 量和问题规模之间的关系。 2、最短路算法 1959年,旦捷希(Dantjig)发现了在赋权图中求由点a到点 b的最短路好算法,称为顶点标号法。 t (an ) : 点an的标号值,表示点a1=a 到an的最短路长度 Ai ={a1 ,a2 , ., ai }:已经标号的顶点集合。 Ti : a1到ai的最短路上的边集合 算法叙述如下:
(1)记a=a1,t(a)=0,A={a},T示0; (2)若已经得到A={a1,a2,a,},且对于1≤n≤i,已知t(an), 对每一个an∈A,求一点: 0∈N(an)-A=Bn0 使得: I(a,b,()=min l(a,v) VEB (3)设有m,1≤m≤i,而b:()是使 t(a)+l(d b 取最小 值,令: ba(=dt(a)=1(am )+l(dmdm),T=TUama (4)若a+1=b,停止,否则,记4=4U{a ,转(2)
0.8 1 0.6 0.4 0.2 0 x t 0 0.5 1 1.5 2 −1 −0.5 0 0.5 1 n 5 (1) 记 a=a1 , t(a1 ) =0, A1= {a1 }, T1= Ø ; (2) 若已经得到Ai = {a1 ,a2 ,., ai }, 且对于 1≤n≤i,已知t(an), 对每一个an∈Ai , 求一点: ( ) ( ) ( ) i i b N a A B n n i n − = 使得: ( ) ( ) ( ) min ( ) i n i n n n v B l a b l a v = (3) 设有mi ,1≤mi≤i ,而bmi (i)是使 取最小 值,令: ( ) ( ) ( ) i i i i m m m t a l a b + ( ) 1 1 1 1 1 , ( ) ( ) ( ), i i i i i b a t a t a l a a T T a a m i i m m i i i m i = = + = + + + + + (4) 若ai+1=b ,停止,否则,记 i i i 1 1 ,转(2). A A a + + =