c语言邮递员问题算法,中国邮递员问题的求解实例
中国邮递员问题的求解实例
前面已经讲过,对于欧拉图,可以直接用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语言邮递员问题算法,中国邮递员问题的求解实例相关推荐
- c语言邮递员问题算法,用贪婪算法解决邮差问题
现在想起大二的时候的离散数学仍是心有余悸.现已时隔多年,依稀记得邮差问题还有一个贪婪算法.主要是简单易懂吧.但是一说起来,难度刚好的把才学的matplotlib库拿来练习.国安民乐,岂不美哉? 首先准 ...
- C语言之基本算法26—佩尔方程求解
//穷举法! /* ====================================================== 题目:求佩尔方程x*x-73*y*y=1的解. =========== ...
- R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型、并评估模型在测试集和训练集上的分类效果(accuray、F1、偏差Deviance):Bagging算法与随机森林对比
R语言基于Bagging算法(融合多个决策树)构建集成学习Bagging分类模型.并评估模型在测试集和训练集上的分类效果(accuray.F1.偏差Deviance):Bagging算法与随机森林对比 ...
- R语言使用apriori算法进行关联规则挖掘实战:关联规则概念、频繁项集、支持度(support)、置信度(confidence)、提升度(lift)、apriori算法
R语言使用apriori算法进行关联规则挖掘实战:关联规则概念.频繁项集.支持度(support).置信度(confidence).提升度(lift).apriori算法 目录
- R语言基于机器学习算法进行特征筛选(Feature Selection)
R语言基于机器学习算法进行特征筛选(Feature Selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为"特征"(featu ...
- 教你一步一步用C语言实现sift算法、上
原文:http://blog.csdn.net/v_july_v/article/details/6245939 引言: 在我写的关于sift算法的前倆篇文章里头,已经对sift算法有了初步的 ...
- C语言基础排序算法-选择排序
C语言基础排序算法-选择排序 什么是选择排序? 选择排序(Selection sort)是一种简单直观的排序算法,第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从 ...
- C语言基础排序算法-冒泡排序
C语言基础排序算法-冒泡排序 什么是冒泡排序? 顾名思义,这种排序方法就像水中的气泡一样,从底逐渐往上冒,一次前进一步.我们来看一个例子,看看到底是怎么冒泡的.假设有一个数组3,2,5,4,1,我们希 ...
- ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核)
ML之SVM:利用Js语言设计SVM算法(SMO算法+线性核/高斯核) 目录 输出结果 设计思路 设计代码(部分代码) 输出结果 设计思路 设计代码(部分代码) var doTest = functi ...
- 动图图解C语言选择排序算法,含代码分析
C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C ...
最新文章
- 正则化方法之DropBlock
- php编程输出心形图案_利用php输出不同的心形图案,php心形图案_PHP教程
- 问题排查:单表3000笔数据查询竟然要2秒?
- invalid table name什么意思_新手入门前端要学习什么?总结一些知识点(建议收藏)...
- ADO连接各种数据库
- 低代码开发平台_低代码开发平台测评——伙伴云
- Spring Cloud Zuul的fallback优化
- Pytorch torchvision完成Faster-rcnn目标检测demo及源码详解
- LeetCode刷题指南与答案
- 自动驾驶中的多种卡尔曼滤波算法及推导详解,值得一读!
- 汇编语言aaa指令解析,aas指令解析
- java连接带通讯密码的中控考勤机 iface702
- svn服务器搭建ip指定,mac 局域网svn服务器搭建
- WPS word编辑图表数据的正确姿态
- RTL8367/N/RB/S/SC系列千兆交换机方案选型参考
- jsptitle换行_fullcalendar中title内容过长显示不全的问题
- linux系统下 USB 摄像头1080分辨率采集帧率低问题的解决方法
- 未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要!
- win7下设置 WiFi AP
- 【XR-3】小道消息 (Comet OJ - Contest #9 X Round 3 )