python闭环最短路径_【python】实现利用欧拉回路求解最短路径问题

I. 问题重述

利用哥尼斯堡七桥问题来解决检察员应该采取怎样的走法才能走完全部街道,如下图,并且使其行走的距离最短。

86b2259f806c

图例.png

II. 合理性假设及符号说明

假设:

a,b,c,d,e,f,g,h,k,k,l,m 这13个点的代号分别为:0,1,2,3,4,5,6,7,8,9, 10, 11, 12

了解欧拉回路是什么,想要解决行走的最短路径问题,首先需要了解到怎样行走能走完全部的道路,并且要考虑走的重复路程最短的情况。

1. 有向图的欧拉回路

一个有向图存在欧拉回路的前提条件是这个图是个连通图,其次要求其每个点的入度等于出度,或者其中有一个点的出度比入度大1,另一个点的入度比出度大一这样就存在一条欧拉回路。

如果其每个点的入度等于出度则从任意一点出发,可以走出一条欧拉回路,如果是第二种情况,则必须从出度大于入度 1 的点出发到入度大于出度 1 的点结束,走出一条欧拉道路。

2. 无向图的欧拉回路

跟有向图一样,首先必须连通,其次如果最多只有两个奇点。则满足欧拉回路或欧拉道路,有奇点就从任意一个奇点出发找科形成一条欧拉道路,否则从任意一点出发都能找出欧拉回路。

III. 模型设计分析

利用 PyCharm 编程,参考哥尼斯堡七桥问题的解法,

第一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值