【问题标题】:How to generate graphs with a Hamiltonian path?如何生成具有哈密顿路径的图?
【发布时间】:2015-12-19 12:14:32
【问题描述】:

我需要为我的下一个项目创建一个graph generator。通常算法试图在图中找到Hamiltonian path。所以我可以创建一个图生成器,然后我可以决定一个图是否有哈密顿路径。如果没有,我可以重新生成图表,但这不是一个很酷的方法。

我想要我生成的graph has always Hamiltonian path

另外,我的图有两个满足两个特定条件

  • 顶点只能有 2,3 或 4 条边。
  • 可能的顶点数遵循以下顺序:6, 10, 15, 20, 25...n-5, n 其中n % 5 = 0

您能解释一下我应该如何开始以及应该遵循哪种方式来轻松实现这一目标?

【问题讨论】:

  • 你试过了吗?有什么让这很难做到的吗?
  • 您可以查看图表上的 msdn 部分 msdn.microsoft.com/en-us/library/ms379574(v=vs.80).aspx
  • 解释如何开始有点模糊。给定您的标签,对此的有效答案可能是“阅读有关 C# 编程的书并参加离散数学课程”。您似乎真正在寻找的是讨论或预先编写的函数,堆栈溢出都不支持这两者。最好先做一些编程工作,然后发帖寻求帮助以解决您已经编写的内容。
  • @Batavia 这是生成图表的完美开始。但是我怎么知道是否存在哈密顿路径呢?
  • @mah 你是对的。我将在 5 分钟后删除问题。只是看起来太复杂了。我什至无法开始。我唯一想要的,我不想检查是否有汉密尔顿路径。所有生成的图表都应该已经有了它。

标签: c# graph graph-theory


【解决方案1】:

如果您想确保您的图具有哈密顿路径,请首先创建一个由连接所有顶点的单个路径组成的图。这将是您的哈密顿路径。

将哈密顿路径的边添加到图形后,继续生成连接随机顶点对的附加边,直到满足图形上的附加条件。

结果保证有哈密顿路径,因为你的初始图有它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2011-03-17
    相关资源
    最近更新 更多