在这个项目中,我必须提出实现汉密尔顿周期的Java源代码。
我在Google上进行了搜索,至少现在我知道哈密顿循环是什么,除了起始顶点之外,它仅通过一次所有顶点的路径,因为它也是最后一个顶点(如果我错了,请告诉我)。
问题是我不知道如何实现它。基本上,我的问题是:

  • 如何在哪里实现哈密顿循环?
  • 哈密顿循环的用途是什么(以便有助于理解为什么如此重要)
  • 最佳答案

  • 您没有实现哈密顿循环,而是找到了哈密顿循环(或发现给定图不存在哈密顿循环)。因为这是一个NP完全问题,这意味着这可能不是有效的解决方案,所以我只实现一个简单的backtracking算法。由于您正在寻找一个周期,因此从哪个节点开始都没关系。
  • 哈密顿循环可用于zero-knowledge proofs的密码学。
    我不确定这仍然只是研究还是在任何加密协议(protocol)中正在积极使用。
  • 09-08 04:47