如何用Mathematica寻找哈密顿回路?

2025-12-30 05:54:27

1、首先,我们需要定义两个列表。

一个是边,一个是边的权重(比如距离)

定义边中间的链接符号是UndirectedEdge的简记。输入方式是[ESC] ue [ESC]

如何用Mathematica寻找哈密顿回路?

如何用Mathematica寻找哈密顿回路?

2、然后,我们可以根据这两个列表的数据画图。

EdgeLabels选项"EdgeWeight"可以在图上显示边的权重。

VertexLabels选项"Name"可以显示顶点名称。

由于前面用1,2,3...编号代表定点,因此顶点名称这里就是1,2,3...

如何用Mathematica寻找哈密顿回路?

如何用Mathematica寻找哈密顿回路?

3、使用FindShortestTour函数来寻找最短哈密顿行迹。

该函数返回结果是{15, {1, 4, 5, 6, 3, 2, 1}},即{总长度,{点序列}}

如何用Mathematica寻找哈密顿回路?

4、Print函数显示该哈密顿序列的长度。

如何用Mathematica寻找哈密顿回路?

如何用Mathematica寻找哈密顿回路?

5、使用HighlightGraph突出显示图。

该函数第一个参数是前面画好的图,

第二个参数是要突出显示的部分,这里用PathGraph路径图作为第二个参数。

使用Manipulate函数创建交互。

如何用Mathematica寻找哈密顿回路?

如何用Mathematica寻找哈密顿回路?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢