【问题标题】:Algorithm to find a graph with given number of nodes and edges找到具有给定节点和边数的图的算法
【发布时间】:2017-08-27 09:21:26
【问题描述】:

我有许多节点,每个节点都有许多边。 例如节点 A 有 3 条边,B 有 2 条,C 有 2 条,D 有 1 条。我正在寻找一种算法,以找到两个节点之间没有多条边的可能无向图。 这个简单示例的可能解决方案是:

   A
  /|\
 / | \
B--C  D

所以 A 与其他 3 个节点相连,因为它有 3 个连接,B 与 A 和 C 相连,D 与 A 相连。 必须满足所有节点的所有边。 另一个例子:

A(3)、B(3)、C(2)、D(1)、E(1)

解决方案:

     A-----D       OR:       A-----E
    / \                     / \
   /   \                   /   \
  C-----B-----E           C-----B-----D

所以,有时有多种解决方案。但这也是可能的,比没有解决方案,例如 A(2)、B(2)、C(1)

没有办法用这 3 个节点及其给定的边数制作图。

现在,我正在寻找一种算法来为这个问题找到可能的解决方案。是否可能已经存在这样的已知问题? 我很乐意提供任何帮助或提示。

【问题讨论】:

    标签: algorithm graph graph-algorithm


    【解决方案1】:

    这被称为Graph Realization Problem

    Erdős–Gallai theorem 提供了一个易于编码的标准,用于确定何时可解,Havel–Hakimi algorithm 提供了一种递归方式来构建此类图。我最喜欢的图论书籍之一,Harsfield 和 Ringel 合着的“Pearls in Graph Theory”,对哈维尔-哈基米算法进行了很好的讨论。

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多