中国邮递员问题的求解实例

前面已经讲过,对于欧拉图,可以直接用Fleury算法找出一条欧拉巡回路线;对于半欧拉图,可以先求出奇点u和v之间的最短路径P,令G =G P,贝U G *为欧拉图,然后用Fleury算法来确定一个G *的欧拉巡回,它就是G的最优巡回。

当G有2n个奇点(n>1),可以用Edmonds算法解决,步骤如下:

(1) 用Floyd算法求出所有奇点之间的最短路径和距离矩阵。

(2) 用匈牙利法或0-1规划法求出所有奇点之间的最佳配对。

(3) 在原图上添加最佳配对所包含的两两顶点之间的最短路得到欧拉图G *。

⑷用Fleury算法确定一个G *的欧拉巡回,这就是G的最优巡回。

以上步骤的关键是找出2n个奇点的最佳配对,举例如下。

例图3是某区街道示意图,各边的长度数据如下表所示。现在需要对每条街道

找最优巡回,需要先求26个奇点的最佳配对。

先用Floyd算法求出所有42个顶点之间的最短路距离和路径。程序如下:

E=[1 2 1026

1 4 402

........ 注:每一行代表一条边(两个顶点和边长),此处省略59行

40 39 198];

c语言邮递员问题算法,中国邮递员问题的求解实例相关推荐

  1. c语言邮递员问题算法,用贪婪算法解决邮差问题

    现在想起大二的时候的离散数学仍是心有余悸.现已时隔多年,依稀记得邮差问题还有一个贪婪算法.主要是简单易懂吧.但是一说起来,难度刚好的把才学的matplotlib库拿来练习.国安民乐,岂不美哉? 首先准 ...

  2. C语言之基本算法26—佩尔方程求解

    //穷举法! /* ====================================================== 题目:求佩尔方程x*x-73*y*y=1的解. =========== ...

  3. R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型、并评估模型在测试集和训练集上的分类效果(accuray、F1、偏差Deviance):Bagging算法与随机森林对比

    R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型.并评估模型在测试集和训练集上的分类效果(accuray.F1.偏差Deviance):Bagging算法与随机森林对比 ...

  4. R语言使用apriori算法进行关联规则挖掘实战:关联规则概念、频繁项集、支持度(support)、置信度(confidence)、提升度(lift)、apriori算法

    R语言使用apriori算法进行关联规则挖掘实战:关联规则概念.频繁项集.支持度(support).置信度(confidence).提升度(lift).apriori算法 目录

  5. R语言基于机器学习算法进行特征筛选(Feature Selection)

    R语言基于机器学习算法进行特征筛选(Feature Selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为"特征"(featu ...

  6. 教你一步一步用C语言实现sift算法、上

    原文:http://blog.csdn.net/v_july_v/article/details/6245939 引言:     在我写的关于sift算法的前倆篇文章里头,已经对sift算法有了初步的 ...

  7. C语言基础排序算法-选择排序

    C语言基础排序算法-选择排序 什么是选择排序? 选择排序(Selection sort)是一种简单直观的排序算法,第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从 ...

  8. C语言基础排序算法-冒泡排序

    C语言基础排序算法-冒泡排序 什么是冒泡排序? 顾名思义,这种排序方法就像水中的气泡一样,从底逐渐往上冒,一次前进一步.我们来看一个例子,看看到底是怎么冒泡的.假设有一个数组3,2,5,4,1,我们希 ...

  9. ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核)

    ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核) 目录 输出结果 设计思路 设计代码(部分代码) 输出结果 设计思路 设计代码(部分代码) var doTest = functi ...

  10. 动图图解C语言选择排序算法,含代码分析

    C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...

最新文章

  1. 正则化方法之DropBlock
  2. php编程输出心形图案_利用php输出不同的心形图案,php心形图案_PHP教程
  3. 问题排查:单表3000笔数据查询竟然要2秒?
  4. invalid table name什么意思_新手入门前端要学习什么?总结一些知识点(建议收藏)...
  5. ADO连接各种数据库
  6. 低代码开发平台_低代码开发平台测评——伙伴云
  7. Spring Cloud Zuul的fallback优化
  8. Pytorch torchvision完成Faster-rcnn目标检测demo及源码详解
  9. LeetCode刷题指南与答案
  10. 自动驾驶中的多种卡尔曼滤波算法及推导详解,值得一读!
  11. 汇编语言aaa指令解析,aas指令解析
  12. java连接带通讯密码的中控考勤机 iface702
  13. svn服务器搭建ip指定,mac 局域网svn服务器搭建
  14. WPS word编辑图表数据的正确姿态
  15. RTL8367/N/RB/S/SC系列千兆交换机方案选型参考
  16. jsptitle换行_fullcalendar中title内容过长显示不全的问题
  17. linux系统下 USB 摄像头1080分辨率采集帧率低问题的解决方法
  18. 未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要!
  19. win7下设置 WiFi AP
  20. 【XR-3】小道消息 (Comet OJ - Contest #9 X Round 3 )

热门文章

  1. 软件设计师真题知识点笔记❀
  2. 【史上最全】数据分级分类标准、指南和模板
  3. 金蝶与旺店通集成解决方案(金蝶为主)
  4. php连接mysql数据库 简洁代码
  5. 业务中台--如何设计企业级权限管理系统
  6. python 进程通信方式_python 进程 进程池 进程间通信实现解析
  7. 关于如何修复任务栏图标变白色的问题
  8. splunk 日志分析软件 简介
  9. PowerDesign 初识
  10. html背景半透明 字不变,css实现背景半透明文字不透明的效果示例