graph - 使用 DFS 算法对有向图和无向图进行拓扑排序
问题描述
我可以使用 DFS 算法确定有向图的拓扑排序。如果没有循环,我假设我找到的拓扑顺序是有效的。如果有一个循环,我认为拓扑顺序是无用的。到目前为止我是正确的吗?
那么无向图呢?“无向图的拓扑排序”是一个有效的陈述吗?该图是否必须是有向无环图才能进行拓扑排序?
解决方案
很难确定无向图的拓扑排序意味着什么或看起来像什么。有向图的拓扑排序是对于图中的每条边 (u, v),u 出现在 v 之前的排序中。如果您有有向图,边 (u, v) 和 (v, u)互不相同,边有明确的起点和终点。
然而,在无向图中,边没有起点和终点——节点要么相互相邻,要么相互不相邻。那么拓扑排序会是什么样子呢?给定一条边 {u, v} = {v, u},哪个节点必须在排序中排在第一位是不明确的,因为两个节点都没有比另一个节点占据特权位置。
推荐阅读
- visual-studio - 在 Windows 下通过 CMake 使用预编译的 HDF5 库
- angular - 如何将数据从一个组件发送到另一个不是子/父的组件以显示消息(闪存消息)
- javascript - 无法单击生成的元素?
- java - 一些错误,例如令牌“;”上的语法错误,@预期
- php - 如何将计算/公式字段添加到 Doctrine 实体中?
- java - AppCompat 如何膨胀未明确使用 AppCompat 小部件的布局?
- liferay - 如何在 Liferay DXP 的服务器级别禁用构建命名空间测试的日志
- xaml - Telerik UI For UWP TimePicker Step 属性
- angular - 装饰器不支持函数调用(Angular 8)
- javascript - 将第 2 和第 3 个子类别添加到我的 categorydropdown