我有一个无向图,所有的顶点都是偶数度。在这个图中,有一组边必须被覆盖一次,并且除非绝对必要,否则不应该覆盖一组边。我需要在图中找到一组一条或多条路径,以便所有必需的边都被精确覆盖一次,并且所走过的不需要的边的数量被最小化。多条路径不需要遍历所需的边,但不需要的边可以使用任意数量的路径遍历。这不是一个欧拉路径,因为有可选的边缘。图边缘遍历算法,需要一些边缘,一些可选
每个单独的路径的长度由所需边缘它可以覆盖的最大数量的限制,尽管路径可以覆盖任何数目的不希望的边缘。
起点和终点不一定相同,但有一组可能的起点。
一些不需要的边缘与所需的边缘重合 - 也就是说,一对顶点可能同时具有需要的边缘和不需要的边缘(尽管每种类型之间永远不会有多于一个边缘给定的一对顶点)。
什么是一个好的算法开始?从根本上说,我正在寻找一种算法,它可以找到一条只需一次就可以遍历所需边的路径,并在可能的情况下避免不需要的边(但可以根据需要多次遍历它们)。我可以在此基础上完成剩下的工作。
阅读Cormen,Leiserson,Rivest - 介绍算法的详细介绍图算法。 – linello 2012-03-21 08:09:28
感谢您的建议;我在当地一家书店找到了一份。 – 2012-03-21 14:49:22