logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

拓扑排序--有向无环图中一个节点的所有祖先

在遍历到节点 u 时,我们首先遍历所有通过出边相邻的子节点 v,此时根据定义 u 一定是 v 的父节点,且根据拓扑序,u 的祖先节点集合 anc[u] 已经更新完毕。如果我们按照拓扑排序的顺序来遍历每个节点并计算祖先节点集合,那么遍历到某个节点时,其所有父节点的祖先节点集合都已计算完成,我们就可以直接对这些集合加上父节点本身取并集得到该节点的所有祖先节点。有向无环图中,每个节点的所有祖先节点集合即

文章图片
#算法#数据结构#leetcode +2
最短路径算法--Dijkstra 算法

通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。此外,引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离)。初始时,S中只有起点s;U中是除s之外的顶点,并且U中顶点的路径是"起点s到该顶点的路径"。然后,从U中找出路径最短的顶点,并将其加入到S中;接着,更新U中的顶点和顶

文章图片
#算法#数据结构
到底了