【问题标题】:About directionality in a topological graph关于拓扑图中的方向性
【发布时间】:2020-09-18 09:13:45
【问题描述】:

我正在解决 LeetCode.com 上的this 问题。问题中的声明说:

某些课程可能有先决条件,例如要学习课程 0,您必须先学习课程 1,它表示为一对:[0,1]

我的目标是提出一个图形表示。我的问题是,根据上述陈述,我应该从以下位置创建图表:

一个。 0 -> 1;或
湾。 1 -> 0?

我感到困惑的原因是,如果我想出前者,我实际上会做与要求相反的相反 - 我会先访问0,然后再做先决条件1 .另一方面,如果我采用后一种方式,如果有这样一种情况,其中要学习0 课程,我必须学习多个必备课程,比如12?使用后一种表示,我最终会从1 完成课程0(感谢边缘),而无需先完成课程2

我应该如何创建定向边缘?

【问题讨论】:

  • 请注意,我对this one 也有类似的问题。
  • 您想要一个边来代表您应该采取的行动,还是您可能采取的行动?也就是说,如果唯一的要求是在 0 之前取 1 和 2,那么你想要像 {1->2, 2->0} 这样的图还是像 {1->2, 2->1, 1->0, 2->0} 这样的图?
  • 当且仅当图表没有循环时,才有可能完成所有课程。这样看来,边缘指向哪个方向并不重要。
  • @Beta,我真的不知道。唯一的要求是课程12 应在课程0 之前完成。我们如何对图表进行建模取决于我们。
  • @IgorTandetnik,您能详细说明一下吗?

标签: c++ algorithm graph graph-traversal


【解决方案1】:

没关系。如果您反转所有边和拓扑排序,您将获得的结果将与原始图的某些拓扑排序相反。以对您最有意义的方式进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多