【问题标题】:Easy way to find a graph edge between graph vertexes在图顶点之间找到图边的简单方法
【发布时间】:2018-09-15 02:06:21
【问题描述】:

如果有100 graph vertexes,则每个图顶点都有4 graph指向另一个图顶点的边,并存储在一个数组中,X. "X(100, 4)"是数组的大小,而"X(38, 2)"表示数组的内容在两个维度索引38, 2.

是否有任何简单的方法可以找到从给定起始图顶点到另一个给定图顶点的方法?

它不一定是最短的 wat,只要可以到达目的地即可。 谢谢!

【问题讨论】:

  • 如果您设置“路径”和“节点”等术语的上下文,这将非常有帮助,这对许多人来说意味着很多事情。原来你问的是“图边”和“图顶点”,这是一个图论问题。还要提到“X(100, 4)” 是数组的大小,而“X(38, 2)” 表示数组在二维索引 38, 2 处的内容。

标签: graph theory


【解决方案1】:

是的。这与在无向图中找到两个顶点之间的路径相同,并且是数学和计算机科学中经过深入研究的概念。通常的方法是“深度优先搜索”(DFS)。 here 描述了一个合适的算法。

基本上它遵循这种模式:

  1. 从等于起始节点的 x 开始。
  2. 如果 x 是结束节点,那么我们就完成了。
  3. 如果我们已经访问过 x,则放弃此路径。
  4. 对于连接到 x 的每个节点 y,
  5. 将 x 添加到当前路径并设置 y=x。
  6. 从第 2 步开始运行算法。
  7. 循环到第 4 步。

这将探索从 x 开始的所有可能路径,尽可能深入每个分支以找到目标或死胡同。因此“深度优先”。

【讨论】:

    猜你喜欢
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多