算法导论—图基础汇总
2015-09-15 16:45
211 查看
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/9/15
这篇博客中的三个基础知识均是基于广度优先搜索。
一、单源最短路径(Dijklas)
给出起点,初始一个数据数组,记录该起点到所有节点的最短路径值(也可以用令一个数组记录最短路径),初始都为最大值。然后遍历该节点的边表,更新该节点到每个节点的最短路径值(+路径)。选择当前节点到所有未访问节点里面距离最小的节点,作为下一次访问节点。知道所有节点都访问过。
二、最小生成树(Prime)
初始一个数组记录树与剩余节点的最短路径,初始都为最大值。每进入一个节点就更新一次树与剩余节点的最短路径(通过访问边表更新)。第一次根节点入树,以后每次选择树外的,与树距离最近的节点入树。
三、拓扑排序
对一个有向图拓扑排序的时候,首先要初始化一个数组记录所有节点的入度,然后访问入度为0的节点,对入度为0的节点遍历边表,对边表上的节点入度减1,依次进行。若出现所有未访问的节点度均大于0,则是出现环,算法退出,报告错误。
天津大学认知计算与应用重点实验室
日期:2015/9/15
这篇博客中的三个基础知识均是基于广度优先搜索。
一、单源最短路径(Dijklas)
给出起点,初始一个数据数组,记录该起点到所有节点的最短路径值(也可以用令一个数组记录最短路径),初始都为最大值。然后遍历该节点的边表,更新该节点到每个节点的最短路径值(+路径)。选择当前节点到所有未访问节点里面距离最小的节点,作为下一次访问节点。知道所有节点都访问过。
二、最小生成树(Prime)
初始一个数组记录树与剩余节点的最短路径,初始都为最大值。每进入一个节点就更新一次树与剩余节点的最短路径(通过访问边表更新)。第一次根节点入树,以后每次选择树外的,与树距离最近的节点入树。
三、拓扑排序
对一个有向图拓扑排序的时候,首先要初始化一个数组记录所有节点的入度,然后访问入度为0的节点,对入度为0的节点遍历边表,对边表上的节点入度减1,依次进行。若出现所有未访问的节点度均大于0,则是出现环,算法退出,报告错误。
相关文章推荐
- chromium浏览器开发系列第四篇:如何调试最新chromium源码
- OGNL(Object-Graph Navigation Language):图形化对象导航语言
- oracle 查看用户表数目,表大小,视图数目等(转自新浪博客)
- Firefox download NEW
- 正则表达式基本语法
- @Qualifier注解
- Linux 下编译安装OpenCV
- uva 11997 K Smallest Sums 优先队列
- This page can't be displayed. Contact support for additional information. The incident ID is: xxxxxx
- dp、px 等单位转换
- 在Linux上rpm安装运行Redis 3.0.4
- C# window Service实现调用有UI的应用程序(关于win xp以后的window系统)
- 关于haproxy负载均衡的算法整理
- cocos2d-js 的project.json
- android 自定义dialog 带动画的
- Java、OC点语法的区别
- C#格式化数值结果表
- Win 7文件名或扩展名太长无法删除
- codeforces 340D D. Bubble Sort Graph(dp+线段树)
- Codeforces Round #277.5 (Div. 2)A——SwapSort