ZKX's LAB

利用Dijkstra算法,求下图从1出发到其余各点的最短路径. 迪杰斯特拉标号法

2020-07-24知识17

利用Dijkstra算法求下图中从顶点1到其它各顶点间的最短路径,按下面表格形式 离散数学 在图论中用dijkstra算法求最短路径时 两条路径距离相同时 怎么继续向下进行这个算法 两条路径距离相同时随便选一个结果都一样解释一下dijkstra算法这个计算过程的意思 怎么算的 最近也看到这个算法,不过主要是通过C语言介绍的,不太一样,但基本思想差不多。下面只是我个人的看法不一定准确。Dijkstra算法主要解决指定某点(源点)到其他顶点的最短路径问题。基本思想:每次找到离源点最近的顶点,然后以该顶点为中心(过渡顶点),最终找到源点到其余顶点的最短路。t=1:令源点(v_0)的标号为永久标号(0,λ)(右上角加点),其他为临时(+无穷,λ).就是说v_0到v_0的距离是0,其他顶点到v_0的距离为+无穷。t=1时,例5.3上面的步骤(2)(3)并不能体现t=2:第1步v_0(k=0)获得永久标号,记L_j为顶点标号当前的最短距离(比如v_0标号(0,λ)中L_0=0),边(v_k,v_j)的权w_kj.步骤(2)最关键,若v_0与v_j之间存在边,则比较L_k+w_kj与L_j,而L_k+w_kj=L_0+w_0j无穷。这里只有v_1,v_2与v_0存在边,所以当j=1,2时修改标号,标号分别为(L_1,v_0)=(1,v_0),(L_2,v_0)=(4,v_0),其他不变。步骤(3)比较所有临时标号中L_j最小的顶点,这里L_1=1最小,v_1获得永久标号(右上角加点)。t=3:第2步中v_1获得永久标号(k=1),同第2步一样,通过例5.3上面的步骤(2)(3),得到永久标号。步骤(2),若v_1与v_j(j=2,3,4,5(除去获得永久标号的顶点))之间存在边,则比较L_1+w_1j与L_j。这里v_1与v_。运筹学中的最短路问题,运用Dijkstra标号法时,对已获得p标号的点,如果之后发现比之前权更小的 可以的,这个算法是会不断更新直到整个图过一遍都没有更新的值

#运筹学#最短路径#最短路问题

随机阅读

qrcode
访问手机版