一个图中没有顶点和边或者一个图中只有一个顶点但没有边,这些图中都不存在欧拉回路吧?
来源:10-3 实现欧拉回路存在性的判断

慕村510262
2022-10-04
代码中这句好奇怪:
if (cc.count() > 1) return false;
我觉得 if (cc.count() != 1) return false
更恰当一点,除此之外,还应确保图中有边。
欧拉回路,既然它是环,那么**「环」本身应该有边且至少经过一个顶点**才对。这样的话,一张图中没有任何边,肯定就不存在欧拉回路。
涉及到环的定义,我参考了一下维基百科:
In graph theory, a cycle in a graph is a non-empty trail in which only the first and last vertices are equal.
我觉得这个定义还可以,因为在一张图中如果没有任何边或者没有任何顶点的话,那么我们之前写的环检测的算法就根本不能检测到图中存在环了。然后,既然不存在环,那么自然就没有欧拉回路。
写回答
1回答
-
liuyubobobo
2022-10-05
我倾向于认为,如果图中没有顶点,那么此时应该抛异常。讨论一个连顶点都没有的图上的性质,是没有意义的。
对于只有一个节点的图,我倾向于认为其欧拉回路就是自身。也就是在起点,还没有出发,就已经来到终点了。当然,你认为这不叫欧拉回路,或者在这种情况下讨论起欧拉回路没有意义(即抛异常),在我看来都是可以的。
继续加油!:)
00
相似问题