Graph
文章平均质量分 66
我为老师建博客
这个作者很懒,什么都没留下…
展开
-
判断有向图是否有环
在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(Directed Acyclic Graph,DAG). 对于一个n个节点的有向图(节点编号从0到n-1),请判断其是否为有向无环图. 图的节点数和边数均不多于100000. 请为下面的Solution类实现解决上述问题的isDAG函数,函数参数中n为图的节点数,edges是边集,edges[i]表示第i条边原创 2017-06-17 23:09:20 · 808 阅读 · 0 评论 -
207. Course Schedule Medium
先修课的安排问题,要判断能不能修完所给的课程,只要看图中有没有环。思路参考上一篇图的文章。AC代码如下。这是用递归判断每一个点开始做DFS是否有环,实际上性能稍差,因为有重复判断的情况,可以加一个数组存储递归的结果,免去重复递归的情况。class Solution {public: bool canFinish(int numCourses, vector >& prereq原创 2017-06-18 13:48:40 · 189 阅读 · 0 评论 -
210. Course Schedule II Medium
这道题要求拓扑排序,返回合法的序列,用不停删除入度为0的点的方法做。注意,stack来存储需要处理的入度为0的点,vector sorted存储结果。class Solution {public: vector findOrder(int numCourses, vector >& prerequisites) { int degree[numCourses] = {0};原创 2017-06-18 13:53:35 · 176 阅读 · 0 评论 -
Valid BFS(判断树的BFS是否正确)
题目The BFS algorithm is defined as follows.Consider an undirected graph with vertices numbered from 1 to n. Initialize q as a new queue containing only vertex 1, mark the vertex 1 as used. Extract...原创 2019-01-06 00:52:48 · 492 阅读 · 1 评论