LeetCode Course Schedule II(拓扑排序)
问题:给出个课程个数,及前提条件对[v,u],即修课程v之前需要修课程u,如果可以输出修的课程顺序
思路:
对于有向图的拓扑排序
一种方式是使用dfs,访问结点的状态分为三种,white,gray,black,其中white表示没有被访问,gray表示正在被访问,black表示已经访问过。在dfs中访问u结点时,首先将结点状态设置为gray,在遍历邻接结点时,如果邻接结点是gray,说明存在环,如果是white,则进入下一深度。所以邻接结点遍历后,将结点设置为black。
另外一种方式是bfs,首先将入度为0的结点放入队列。在出队时,将当前结点的邻接结点对应的入度减1,如果入度为0,将邻接结点放入队列。
具体代码参考:
https://github.com/wuli2496/OJ/tree/master/LeetCode/Course%20Schedule%20II
LeetCode Course Schedule II(拓扑排序)相关推荐
- leetcode Course Schedule II
题目连接 https://leetcode.com/problems/course-schedule-ii/ Course Schedule II Description There are a to ...
- [Leedcode][JAVA][第210 题][课程表 II][拓扑排序][BFS][DFS][有向图]
[问题描述][第210 题][课程表 II][中等] 现在你总共有 n 门课需要选,记为 0 到 n-1.在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用 ...
- LeetCode 207. 课程表(拓扑排序)
1. 题目 你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 . 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个 ...
- Leetcode 1436旅行终点站 拓扑排序 并查集与队列
题目介绍 题目难度: easy 给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 ...
- 207.课程表 | 210.课程表II(拓扑排序)
207.课程表 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 . 在选修某些课程之前需要一些先修课程. 先修课程按数组 prerequisites 给出 ...
- leetcode 1203. 项目管理(拓扑排序)
公司共有 n 个项目和 m 个小组,每个项目要不无人接手,要不就由 m 个小组之一负责. group[i] 表示第 i 个项目所属的小组,如果这个项目目前无人接手,那么 group[i] 就等于 -1 ...
- LeetCode Minimum Height Trees(拓扑排序)
问题:给出一个图,要求确定树的根,使得树的高度最小. 思路:先求出结点的度.然后将度数为1的入队列.在出队列时,将其邻接结点的度数减1,如果度数为1,则放入队列.直接剩余的结点数小于等于2 具体代码参 ...
- LeetCode 210. 课程表 II(拓扑排序)
1. 题目 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课 ...
- [Leetcode][第207题][JAVA][课程表][拓扑排序][DFS]
[问题描述][中等] [解答思路] 1. 拓扑排序 复杂度分析 HashSet[] 数组 import java.util.HashSet; import java.util.LinkedList; ...
最新文章
- 小甲鱼-累加数据段中的前3个字型数据【不对的话,请指教!】
- 结合typedef更为直观的应用函数指针
- 启用Gzip压缩(IIS)提高客户端网站访问速度
- Quartz-JobListener解读
- 物化视图是否可以exp导出_物化视图导出导入可能导致物化视图日志的失效
- 你用苹果手机多长时间清理一次内存,怎么清理?
- 图的最短路算法(Dijkstra和Floyd-Warshall)
- 大数据分析的方法有哪些
- FISCO BCOS(二)———配置及使用控制台
- linux codeblocks汉化
- 显微镜下的大明——第三个故事
- oracle条件索引查询,Oracle复合索引用于范围查询条件
- python挑选以元音字母开头的单词,在Python中查找以特定字母开头的列表元素
- python django 基本测试 及调试 201812
- 研究人员开发实时歌词生成技术以激发歌曲创作灵感
- ChatGPT工作提效之初探路径独孤九剑遇强则强
- Paho Java Client 连接阿里云物联网平台
- 大众点评评论抓取-CSS加密破解
- 美橙互联短信服务——发送注册短信并验证
- 开机启动计算机时 屏幕无显示桌面,开机时电脑黑屏没有出现桌面怎么处理