今天做图的题目,这里面涉及到一个非常重要的知识点,就是图的入门,然后还有一个就是花花酱的leetcode合集,这些做完之后可以想一想怎么开始在9月份之前完成初期的知识储备,加油啊!

拓扑排序的具体笔记记在ipad上

拓扑排序:从给定的图的所有边中「提取出该图的某一个拓扑序列」的过程,拓扑序列是一条满足图中有向边前后关系的序列,任一有向边起点在序列中一定早于终点出现。如果图中有环,则无法提取出拓扑序列。所以拓扑排序的一个重要应用是在给定的有向图中判定是否存在环路。

作者:GTAlgorithm
链接:https://leetcode-cn.com/problems/find-eventual-safe-states/solution/gtalgorithm-san-ju-hua-jiao-ni-wan-zhuan-xf5o/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

非常重要: 拓扑排序是找到图中入度为 00 的节点,以及仅由入度为 00 节点所指向的节点。

class Solution:def eventualSafeNodes(self, graph: List[List[int]]) -> List[int]:#图论:状态机#不成环#拓扑排序逆向#统计出度n = len(graph)edge = defaultdict(list)out = [0]*nq = deque([])#首先是将graph反向for i,node in enumerate(graph):out[i] = len(node)if not out[i]:q.append(i)else:for no in node:edge[no].append(i)#然后是bfs的拓扑排序#非常重要: 拓扑排序是找到图中入度为 0 的节点,以及仅由入度为 0 节点所指向的节点(所指向的节点,所指向的节点。。。。)。即不会有环的存在while q:node = q.popleft()for ed in edge[node]:out[ed]-=1if not out[ed]:q.append(ed)return [i for i in range(n) if not out[i]]

8月5号 图论,拓扑排序入门相关推荐

  1. 图论---拓扑排序的应用

    最近研究了几道图论的题目,都是图论入门的算法,用的比较多的就是拓扑排序,多用于有着先后顺序的题目,也可以用来判断环,做个小总结. 杂物 题目链接:杂务 - 洛谷 这一题需要计算最短的时间,利用了记忆化 ...

  2. 图论--拓扑排序--HDU-1285确定比赛名次

    Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...

  3. 拓扑排序入门(真的很简单)

    在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点. 先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一. 一直做改操作,直到所有的节点都被 ...

  4. 数据结构-图论-拓扑排序模板题(hdu3342)(poj1270)(hdu4857)

    dfs与bfs的很直接的应用就是拓扑排序. 拓扑排序如果用数组来模拟链表进行操作,既解决了稀疏图的空间问题,又解决了用链表进行操作麻烦的问题 但是拓扑排序并不是数字大小之间的排序,而是某些事情之间的顺 ...

  5. 图论--拓扑排序--模板

    //字典序号最小 #include <cstdio> #include <cstring> #define MAXN 517 int G[MAXN][MAXN]; //路径 i ...

  6. 图论--拓扑排序--判断是否为DAG图

    #include<cstdio> #include<cstring> #include<vector> #include<queue> using na ...

  7. 图论--拓扑排序--判断一个图能否被拓扑排序

    拓扑排序的实现条件,以及结合应用场景,我们都能得到拓扑排序适用于DAG图(Directed Acyclic Graph简称DAG)有向无环图, 根据关系我们能得到一个线性序列,实现的方式是DFS,具体 ...

  8. 2022.3.24 图论——拓扑排序算法

    文章目录 一.拓扑排序简介 二.例题 1.题目 2.分析 3.代码 一.拓扑排序简介 1.Topological Sorting,指的是一个DAG(Directed Acyclic Graph)即有向 ...

  9. 【算法练习】数据结构/图论 poj4084:拓扑排序

    题目链接:http://bailian.openjudge.cn/practice/4084 4084:拓扑排序 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一个图的结构,输出其 ...

最新文章

  1. 2018.11.03-dtoj-3130-流浪者(rover)
  2. 聊聊WebRTC网关服务器1:如何选择服务端端口方案?
  3. ffmpeg + x264 编码H264(x86+arm)
  4. 服务器php 启动命令_禁止php运行服务器命令行函数的安全配置
  5. 在 CentOS7 上安装 MySQL5.7
  6. html5求6的阶乘,.net 求数的阶乘
  7. C语言:几种字符输入函数的区别
  8. html5着陆页模板,多用途着陆页HTML模板
  9. UOJ351 新年的叶子
  10. Linux篇 | 用户、组和权限(一)
  11. php调用ruby,ruby、javascript、php中的观察者模式实现代码
  12. 无痕埋点(声明式)(原创)
  13. redis打开外网访问端口
  14. pe卸载win10更新补丁_Win10怎么卸载有问题更新补丁|Win10卸载更新补丁
  15. linux tar压缩排除指定文件夹
  16. 如何根据公司名称来筛选快递
  17. 日本研发5nm取得重大进展,和美国远离EUV,ASML陷入众叛亲离境地
  18. 通报1422人!论文无实质贡献挂名认定为学术不端,科技部发布新规!
  19. 2022江苏民丰农村商业银行社会招聘测试题及答案
  20. 河海大学软件工程学硕考研复试经验贴

热门文章

  1. 金仓数据库KingbaseES运维工具参考手册(5. 辅助运维工具)
  2. python 去水印复杂问题
  3. (7)货币时间价值利率
  4. 惠普笔记本win10系统蓝牙功能突然失效的解决办法
  5. matlab频谱分析详解
  6. Qt-Qml-播放视频-失败版-只有声音没有图像
  7. [HNOI2012]永无乡
  8. 绕过WAF(防火墙)进入网站后台
  9. PMBOK中那些让人头疼的外国人(持续更新)
  10. 解决ubuntu14 restart mysql提示stop Unknown job:mysql问题