要前往论坛,请点击这里

欧拉回路与中国邮递员问题

作者:佚名 | 发表日期:2007-12-12 | 浏览:171次 | 加入收藏

一:弗罗莱(Fleury)算法

算法步骤如下:
(1):任取一起始节点VS;
(2):设路EE:=[[v1,v2],[v2,v3],....,[vn,vs]]选出,则从G\EE中选边ee,使ee与VS相连,除非没有其它选择,EE不应为G\EE的桥(即去G\EE应保持连通性);
(3):重复步骤(2),直至不能进行下去为止。

具体程序如下:

> Fleury:=proc(G)
> local V,E,ee,VD,i,j,VS,EE;
> VS:=1:EE:=[]:
> for j from 1 to nops(edges(G)) do
> VD:=neighbors(VS,G):
> for i from 1 to nops(VD) do
> ee:=edges({VS,VD[i]},G):
> delete(edges(ee,G),G):
> if connectivity(G)=0 then
> addedge({VS,VD[i]},G): 
> if i=nops(VD) then 
> RETURN(0):
> fi:
> else
> EE:=[op(EE),[VS,VD[i]]]:
> VS:=VD[i]:
> fi:
> od:
> od:
> RETURN(EE):
> end:

二:中国邮递员问题

解法如下:
(1):找出原图G的所有负节点和正节点;
(2):求出每对负、正节点之间的最短路的权数,并求出最佳配对与附加配对的最短路;
对添加了配对后的最短路的新图,找出一个或若干个欧拉回路,并合理地分配在规定的时间经过的路段。

文章搜索

你可能对相关文章也感兴趣...

赞助商链接

九州算术版权申明:非特殊申明,本站文章均系转载自互联网,如果侵犯了你的合法权益,请告知我们,我们会第一时间处理. 【我要评论当前这篇文章】 【我要回去文章列表看看】

以下是本站会员对这篇文章的评论


  • 评论载入中...请稍后...

您的评论

用户名: 验证码: 说明:评论并不需要注册.如果您不是本站会员,你可以注册为本站会员. 注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。

请您注意: ·不良评论请用报告管理员,以利管理员及时删除。 ·尊重网上道德,遵守中华人民共和国的各项有关法律法规 ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任 ·本站评论管理人员有权保留或删除其管辖评论中的任意内容 ·您在本站发表的作品,本站有权在网站内转载或引用 ·参与本评论即表明您已经阅读并接受上述条款