数学建模-图论
- 格式:ppt
- 大小:3.54 MB
- 文档页数:28


图论一.最短路问题问题描述:寻找最短路径就是在指定网络中两结点间找一条距离最小的路。
最短路不仅仅指一般地理意义上的距离最短,还可以引申到其它的度量,如时间、费用、线路容量等。
将问题抽象为赋权有向图或无向图G ,边上的权均非负 对每个顶点定义两个标记(()l v ,()z v ),其中:()l v :表示从顶点到v 的一条路的权 ()z v :v 的父亲点,用以确定最短路的路线S :具有永久标号的顶点集1.1Dijkstra 算法:即在每一步改进这两个标记,使最终()l v 为最短路的权 输入:G 的带权邻接矩阵(,)w u v 步骤:(1) 赋初值:令0()0l u =,对0v u ≠,令()l v =∞,0={u }S ,0i =。
(2) 对每个(\)i i i v S S V S ∈=(即不属于上面S 集合的点),用min{(),()()}iu S l v l u w uv ∈+代替()l v ,这里()w uv 表示顶点u 和v 之间边的权值。
计算min{()}iu S l v ∈,把达到这个最小值的一个顶点记为1i u +,令11{}i i i S S u ++=⋃。
(3) 若1i V =-,则停止;若1i V <-,则用1i +代替i ,转(2)算法结束时,从0u 到各顶点v 的距离由v 的最后一次编号()l v 给出。
在v 进入i S 之前的编号()l v 叫T 标号,v 进入i S 之后的编号()l v 叫P 标号。
算法就是不断修改各顶点的T 标号,直至获得P 标号。
若在算法运行过程中,将每一顶点获得P 标号所由来的边在图上标明,则算法结束时,0u 至各顶点的最短路也在图上标示出来了。
理解:贪心算法。
选定初始点放在一个集合里,此时权值为0初始点搜索下一个相连接点,将所有相连接的点中离初始点最近的点纳入初始点所在的集合,并更新权值。
然后以新纳入的点为起点继续搜索,直到所有的点遍历。