algorithm - 寻找有向图根的算法
问题描述
我可以很容易地通过查看它来判断哪个节点是有向图的根,但是如果我想使用一种算法来找到一个,我应该从 DFS 开始吗?
解决方案
有向图没有根,除非它是树。如果您想查找没有传入边的有向图的顶点,您可以运行 DFS 并跟踪如何发现顶点。如果一个顶点仅因为它是从顶点列表中被选择而被发现并且从未被边重新发现,那么它没有传入边。
另一种思考方式是使用 DFS 来检查图的所有边。任何从未出现在边缘接收端的顶点都将是“根”。
推荐阅读
- laravel - 是否可以使用 Laravel 在带有查询构建器的模型中工作?
- mongodb - 通过 SparkSession Builder 创建时,Kafkastream 没有监听输入
- django - ProgrammingError at / ORDER BY "id" is ambiguous LINE 1: ...logapp_article.userid=blogapp_useradd.uname ORDER BY id DESC
- java - 从一年中的一周开始的即时时间
- javascript - 在 Desktop 上的单个视图中显示多个路由器组件
- excel - VBA 如何确定非 IUnknown 引用类型的生命周期?
- android - 如何阅读logcat
- sql-server - INSERT INTO SELECT 查询的正确语法
- javascript - 期望输入结束,“ADD”、“SUB”、“MUL”、“DIV”,得到意外的“RPAREN”
- python - 如何在 pytorch 中使用 GPU?