您的位置:首页 > 其它

算法导论—图基础汇总

2015-09-15 16:45 211 查看
华电北风吹

天津大学认知计算与应用重点实验室

日期:2015/9/15

这篇博客中的三个基础知识均是基于广度优先搜索。

一、单源最短路径(Dijklas)

给出起点,初始一个数据数组,记录该起点到所有节点的最短路径值(也可以用令一个数组记录最短路径),初始都为最大值。然后遍历该节点的边表,更新该节点到每个节点的最短路径值(+路径)。选择当前节点到所有未访问节点里面距离最小的节点,作为下一次访问节点。知道所有节点都访问过。

二、最小生成树(Prime)

初始一个数组记录树与剩余节点的最短路径,初始都为最大值。每进入一个节点就更新一次树与剩余节点的最短路径(通过访问边表更新)。第一次根节点入树,以后每次选择树外的,与树距离最近的节点入树。

三、拓扑排序

对一个有向图拓扑排序的时候,首先要初始化一个数组记录所有节点的入度,然后访问入度为0的节点,对入度为0的节点遍历边表,对边表上的节点入度减1,依次进行。若出现所有未访问的节点度均大于0,则是出现环,算法退出,报告错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: