2016 - 2024

感恩一路有你

Mathematica实战范例:动态演绎欧拉回路

浏览量:4133 时间:2024-01-30 11:22:33 作者:采采

生成图形

欧拉回路就是说图中存在一条回路,该回路恰巧通过每条边一次。在这个小范例中,让我们看看如何动态演绎欧拉回路。

首先我们来生成一个Graph来展示,为了给每个顶点显示标签,我们还指定了ImagePadding选项。

检查图形问题

在我们继续求解之前,先看一看上面的图形是否存在什么问题。如果你仔细观察的话,会发现部分的标签并未显示完整。这里需要补充一个选项ImagePadding,如果我们设置一个较大的值便可以解决此类问题。

使用FindEulerianCycle命令求解

在Mathematica下想要求解欧拉回路非常容易,因为直接由一个命令可以帮助我们求出答案来,就是FindEulerianCycle命令。下面我们用这个命令看看能否得出上面图的欧拉回路。

答案如此轻松地求解出来了,您可以按照输出的结果按图索骥地走一遍。但是请别忘记,我们是在用Mathematica下,在前进一点,把我们的结果动态地显示出来。为此,我们还要做一点准备工作,将结果赋值给变量,并且求出初始的点来,还有总共有多少条边。

高亮显示中间步骤

现在我们想把中间的步骤在图中高亮显示。HighlightGraph是专门用来高亮显示的命令,其实这个命令非常简单,如下图所示,假设想要高亮显示点1、点2以及点1到点2的边,只需将这些要高亮显示的内容用列表组织起来就好了。

动态演绎欧拉回路

好,回到我们的问题之中。每次取出前n条边,这样就可以实现动态演绎欧拉回路。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。