- 1
- 0
- 约4.66千字
- 约 29页
- 2025-08-31 发布于广东
- 举报
图论课件最短路算法图的代数表示*第1页,共29页,星期日,2025年,2月5日第一章图的基本概念本次课主要内容最短路算法、图的代数表示(一)、最短路算法(二)、图的代数表示1、图的邻接矩阵2、图的关联矩阵*第2页,共29页,星期日,2025年,2月5日1、相关概念(1)赋权图(一)、最短路算法在图G的每条边上标上一个实数w(e)后,称G为边赋权图。被标上的实数称为边的权值。若H是赋权图G的一个子图,称为子图H的权值。权值的意义是广泛的。可以表示距离,可以表示交通运费,可以表示网络流量,在朋友关系图甚至可以表示友谊深度。但都可以抽象为距离。*第3页,共29页,星期日,2025年,2月5日(2)赋权图中的最短路设G为边赋权图。u与v是G中两点,在连接u与v的所有路中,路中各边权值之和最小的路,称为u与v间的最短路。解决某类问题的一组有穷规则,称为算法。(3)算法1)好算法算法总运算量是问题规模的多项式函数时,称该算法为好算法。(问题规模:描述或表示问题需要的信息量)算法中的运算包括算术运算、比较运算等。运算量用运算次数表示。2)算法分析*第4页,共29页,星期日,2025年,2月5日对算法进行分析,主要对时间复杂性进行分析。分析运算量和问题规模之间的关系。2)算法分析2、最短路算法1959年,但切西(Dantjig)发现了在赋权图中求由点a到点b的最短路好算法,称为顶点标号法。t(an):点an的标号值,表示点a1=a到an的最短路长度Ai={a1,a2,...,ai}:已经标号的顶点集合。Ti:a1到ai的最短路上的边集合算法叙述如下:*第5页,共29页,星期日,2025年,2月5日(1)记a=a1,t(a1)=0,A1={a1},T1=?;(2)若已经得到Ai={a1,a2,…,ai},且对于1≤n≤i,已知t(an),对每一个an∈Ai,求一点:使得:(3)设有mi,1≤mi≤i,而bmi(i)是使取最小值,令:(4)若ai+1=b,停止,否则,记,转(2).*第6页,共29页,星期日,2025年,2月5日该算法的通俗说法为:(1)找出已标号顶点的未标号最近邻点:bn(i)(2)把已标号顶点标号值与它到最近邻点的距离相加,和值最小者对应的最近邻点作为标号点,标号值为该和值。*第7页,共29页,星期日,2025年,2月5日时间复杂性分析:对第i次循环:步骤(2)要进行i次比较运算,步骤(3)要进行i次加法与i次比较运算。所以,该次循环运算量为3i.所以,在最坏的情况下,运算量为n2级,是好算法。算法证明:定理1:算法中的函数t(ai)给出了a与ai的距离。证明:对i作数学归纳法。(1)i=1时结论显然成立。(2)设对所有的j,1≤ji时,t(aj)=d(a,aj).(3)考虑j=i令P=v0v1…vd,v0=a,vd=ai是连接a与ai的一条最短路,*第8页,共29页,星期日,2025年,2月5日于是d(P)=d(a,ai),令vn是P中第一个不在Ai-1中的点。由于,故这样的点vn存在。又因v0∈Ai-1知n≥1,设vn-1=ak,则有k≤i-1.记P中由a到vn的一段的长度为l,a到vn-1的一段长度为l1.由归纳假设,有l1≥t(ak),且其中ami-1由算法的第(3)步得到,1≤mi-1≤i-1.又由于存在一条长度为t(ai)联结的a与ai的路,可知*第9页,共29页,星期日,2025年,2月5日联合此两个不等式,即得:由归纳法知定理成立。例1如图所示,求点a到点b的距离。812614227924693av1v2v3v4v5v6b解1.A1={a},t(a)=0,T1=Φ2.b1(1)=v3;3.m1=1,a2=v3,t(v3)=t(a)+l(av3)=1(最小),T2={av3};*第10页,共29页,星期日,2025年,2月5日2.A2={a,v3},b1(2)=v1,b2(2)=v2;3.m2
原创力文档

文档评论(0)