Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 图的循环遍历_Graph_Graph Theory_Graph Algorithm - Fatal编程技术网

Graph 图的循环遍历

Graph 图的循环遍历,graph,graph-theory,graph-algorithm,Graph,Graph Theory,Graph Algorithm,给定一个具有N个节点和M条边的有向图,您需要找到图的最小成本循环遍历,即从某个特定城市X开始,到该城市结束 对于以下两种情况,最有效的方法是什么: 边缘没有重量 加权边(Wi表示第i条边) 上述两种情况,但条件是每个城市最多只能访问一次。(除了第一个城市)。如果这是不可能的,那么输出将是-1 提前谢谢 1。边缘无重量。 如果边上没有成本,实际上所有成本都为0的电路变得相等。 合理地说,如果隐含地说成本实际上是最小跳数,那么满足上述条件的任何电路也是等效的。然后,问题是找到一个回路,即a。找出图中

给定一个具有N个节点和M条边的有向图,您需要找到图的最小成本循环遍历,即从某个特定城市X开始,到该城市结束

对于以下两种情况,最有效的方法是什么:

  • 边缘没有重量
  • 加权边(Wi表示第i条边)
  • 上述两种情况,但条件是每个城市最多只能访问一次。(除了第一个城市)。如果这是不可能的,那么输出将是-1
  • 提前谢谢

    1。边缘无重量。 如果边上没有成本,实际上所有成本都为0的电路变得相等。 合理地说,如果隐含地说成本实际上是最小跳数,那么满足上述条件的任何电路也是等效的。然后,问题是找到一个回路,即a。找出图中的哈密顿回路是NP完全的

    有n个!可能的路线。蛮力方法的运行时复杂性为O(n!)
    ,其中n表示边的数量

    现有的最佳算法之一是模拟和代码

    2。加权边(Wi表示第i条边) 当图有加权边时,该问题成为众所周知的TSP(),这是一个NP难问题。社区中存在一种围绕TSP复杂性的混乱。您必须区分、TSP优化TSP决策

    TSP优化是NP难问题

    TSP决策是NP完全的

    有关详细说明,请查看这些资源。您可以在中找到讨论

    您被要求实现TSP优化

    -动态规划

    Bellman–Hold–Karp算法。您可以在中找到伪代码。 运行时复杂性:O(2n n2),其中n表示边的数量


    尽管存在其他的解决方法,如分而治之或贪婪方法,但它们不是最优的

    你所说的“最有效的方式”到底是什么意思?你是指一个算法最著名的运行时界限还是硬度的一般讨论?请更具体一点。最佳时间复杂度。PS我正在为ICPC做准备