图论算法
1、Relaxation(松弛操作):
procedure relax(u,v,w:integer);//多数情况下不需要单独写成procedure。
begin
if dis[u]+w<dis[v] then
begin
dis[v]:=dis[u]+w;
pre[v]:=u;
end
end;
2、Dijkstra
适用条件&范围:
a) 单源最短路径(从源点s到其它所有顶点v);
b) 有向图&无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图)
c) 所有边权非负(任取(i,j)∈E都有Wij≥0);
1)算法描述:
a) 初始化:dis[v]=maxint(v∈V,v≠s); dis[s]=0; pre[s]=s; S={s};
b) For i:=1 to n
1.取V-S中的一顶点u使得dis[u]=min{dis[v]|v∈V-S}
2.S=S+{u}
3.For V-S中每个顶点v do Relax(u,v,Wu,v)
c) 算法结束:dis[i]为s到i的最短距离;pre[i]为i的前驱节点
2)算法优化:
使用二叉堆(Binary Heap)来实现每步的DeleteMin(ExtractMin,即算法步骤b中第1步)操作,算法复杂度从O(V^2)降到O((V+E)㏒V)。推荐对稀疏图使用。
使用Fibonacci Heap(或其他Decrease操作O(1),DeleteMin操作O(logn)的数据结构)可以将复杂度降到O(E+V㏒V);如果边权值均为不大于C的正整数,则使用Radix Heap可以达到O(E+V㏒C)。但因为它们编程复杂度太高,不推荐在信息学竞赛中使用。
3、Bellman-Ford
1) 适用条件&范围:
a) 单源最短路径(从源点s到其它所有顶点v);
b) 有向图&无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图);
c) 边权可正可负(如有负权回路输出错误提示);
d) 差分约束系统;
2)算法描述:
对每条边进行|V|次Relax操作;
完成后,如果存在(u,v)∈E使得dis[u]+w<dis[v],则存在负权回路;否则dis[v]即为s到v的最短距离,pre[v]为前驱。
3)算法实现:
For i:=1 to |V| do
For 每条边(u,v)∈E do
Relax(u,v,w);
For每条边(u,v)∈E do
If dis[u]+w<dis[v] Then Exit(False)
图论中的常用经典算法第一节一、生成树的概念若图是连通的无向图或强连通的有向图,则从其中任一个顶点出发调用一次 bfs 或 dfs 后便 可以系统地访问图中所有...
图论算法 最小生成树算法(Prim 算法) 单源最短路径算法(Dijkstra 算法) 任意结点最短路径算法(Floyd 算法) 求有向带权图的所有环 Bellman-Ford 算法 计算图的...
图论算法图论在信息学竞赛中占了很大部分,很多实际 问题可以用图论来解决。 江苏省金湖中学 张厚林 图的一些典型算法最小生成树 最短路径 拓扑排序 关键路径 例1...
数学建模课件 主讲人:孙云龙 主讲人: 图论算法主讲:孙云龙 Email:sunyl@swufe.edu.cn 数学建模课件 主讲人:孙云龙 主讲人: 算法分析数值计算 搜索法、最速下降...
图论算法_理学_高等教育_教育专区。数学第一章 最小生成树 1.1 实际背景与算法 1.2 例题与习题 1.1 实际背景与算法 实际背景: 要在 n 个居民点之间架设...
02图及简单图论算法_数学_自然科学_专业资料。2010 年潍坊市信息学奥赛夏令营 图及简单图论算法潍坊七中 刘振业 DS- 图学习指南离散数学中的图论是专门研究图...
图论算法_理学_高等教育_教育专区 暂无评价0人阅读0次下载举报文档 图论算法_理学_高等教育_教育专区。今日推荐 180份文档 CET四六级高分通关宝典...
图论算法:最短路_数学_自然科学_专业资料。简单的介绍了在OI领域内有关最短路的知识和基本的实现方法SPYNGELION OI 专题总结:最短路问题 2010/11/9 最短路问题 ...
ACM/ICPC程序设计 程序设计 简单算法计算机学院 张淑平 西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 图论-...
图论算法_数学_自然科学_专业资料。数模图论应用 2004数学建模竞赛辅导 复旦大学计算机科学与工程系 吴永辉 博士 2004年7月12日 基础知识 ? ? ? ? 离散数学(...
热门文档