matlab 城市间最短路径

clear all;clc;close all;
%最短路径代码,输入:起点+空格+终点(大写字母,如:A F)
% 输出最短路径值d    最短路径路线
% W为一个对称矩阵,如果不能直接到达距离为inf
% 本例中A到B距离为12;  A到F距离为0; B到C距离为10;
%  C到D距离为3;  C到E距离为5; C到F距离为6; D到E距离为4;  E到F距离为2;
W=[ 0     12     inf     inf      inf     1612     0     10      inf      inf     infinf    10     0       3        5       6inf   inf     3       0        4      Infinf   inf     5       4        0      216    Inf     6      Inf       2      0   ];n=length(W);
D=W;
m=1;
while m<=nfor i=1:nfor j=1:nif D(i,j)>D(i,m)+D(m,j)D(i,j)=D(i,m)+D(m,j);endendendm=m+1;
end
str = input('','s');
qidian = uint8(str(1))-64;
zhongdian = uint8(str(3))-64;
flag_flip = 0;
if qidian>zhongdiant = qidian;qidian = zhongdian;zhongdian = t;flag_flip = 1;
endd=D(qidian,zhongdian);
P1=zeros(1,n);
k=1;
P1(k)=zhongdian;
V=ones(1,n)*inf;
kk=zhongdian;
while kk~=qidianfor i=1:nV(1,i)=D(qidian,kk)-W(i,kk);if V(1,i)==D(qidian,i)P1(k+1)=i;kk=i;k=k+1;endend
end
k=1;
wrow=find(P1~=0);
for j=length(wrow):(-1):1P(k)=P1(wrow(j));k=k+1;
end
fprintf('%d\n',d)
len_P = length(P);
if flag_flip == 1for i = len_P:(-1):1temp = char(P(i)+64);fprintf('%c ',temp);end
elseif flag_flip == 0for i = 1:len_Ptemp = char(P(i)+64);fprintf('%c ',temp);end
end

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker开放的端口_关于docker自动开放端口解决方案

在docker中只要有容器映射了端口docker就会自动加iptablesiptables -L -nChain DOCKER (8 references)target prot opt source destinationACCEPT tcp -- 0.0.0.0/0 172.18.0.2 tcp dpt:2379ACCEPT tcp -- 0.0.0.0/0 172.18.0.5 tcp dpt:8888ACCEPT udp -- 0.0.0.0/0 172.18.0.…

即将举行的网络研讨会:调试生产中Java的5种最佳实践

您的团队是否花费超过10&#xff05;的时间在生产环境中调试Java&#xff1f; 将新代码部署到生产中是一项艰巨的任务。 在您的本地环境中起作用的东西在生产中的作用并不相同&#xff0c;您可以通过用户来了解。 不理想吧&#xff1f; 生产中的调试是一个关键要素&#xff0…

保存网页上没有 另存为图片 选项的方法

找到要存储的图片&#xff0c;并点击右键查看源代码 找到图片地址&#xff0c;复制到新的浏览器里打开 将图片 另存为 转载于:https://www.cnblogs.com/lszw/p/11040047.html

BP算法,用梯度下降法更新权值W与偏置项b

Bp算法实际是输出的误差函数对每一个参数求导&#xff0c;输出层可以直接求出&#xff0c;非输出层则有链式法则求导。这里以上图5层神经网络为例进行说明。 一 符号说明&#xff1a; 1)这里使用激活函数为sigmoid函数&#xff1a; &#xff08;1&#xff09; 对sigmoid函数…

字典生成工具_CANOpen系列教程09_CANOpen对象字典

说明&#xff1a;本文原创作者『strongerHuang』首发于微信公众号『嵌入式专栏』&#xff0c;同时也更新在我的个人网站&#xff1a;EmbeddedDevelop标签&#xff1a;CAN、 CANOpen、 CanFestival一、写在前面上一篇文章主要是引导大家学习CANOpen协议通信接口的相关内容。通信…

Java命令行界面(第4部分):命令行

我在Java中进行命令行解析的系列的第四部分介绍了Commandline &#xff0c;它被描述为 “用于解析命令行参数的Java库”&#xff0c;它“基于使用注释从命令行参数到对象的映射”。 像以前介绍的args4j和jbock一样&#xff0c; Commandline使用注释来提供潜在命令行选项的“定…

Dijkstra 计算两地间的最短距离

这里使用Dijkstra(戴克斯特拉)算法&#xff0c;该算法起始点实际计算出到任一点的距离&#xff0c;计算两城市间的距离实际是一个副产物&#xff0c;所有一下图为例来说明&#xff0c;该图为无向图&#xff0c;顶点间所标数字即为两点之间的距离。 问题&#xff1a;求点D到点A的…

Sequence

题目链接&#xff1a;http://dsalgo.openjudge.cn/binarytree/12/ 总时间限制: 3000ms 内存限制: 65536kB描述给定m个数字序列&#xff0c;每个序列包含n个非负整数。我们从每一个序列中选取一个数字组成一个新的序列&#xff0c;显然一共可以构造出n^m个新序列。接下来我们对每…

hadooprbac_rbac权限管理系统的学习

RGBA学习在web开发项目中,有些网页是公开给所有人访问的,但有些网页涉及了某些数据表的增删改查的操作,而某些操作,特别是增改删的操作是一些敏感操作所有需要给不同的用户添加不同的权限&#xff0c;那么问题来了来了,我们需要怎样设置数据表来分配不同权限呢&#xff1f;很显…

api过滤器_了解播放过滤器API

api过滤器随着Play 2.1的热销&#xff0c;很多人开始询问新的Play过滤器API。 实际上&#xff0c;API非常简单&#xff1a; trait EssentialFilter {def apply(next: EssentialAction): EssentialAction }本质上&#xff0c;过滤器只是一个执行一个动作并返回另一个动作的函数…

HTML5中的webSocket、ajax、http

本文原链接&#xff1a;https://cloud.tencent.com/developer/article/1115496 https://cloud.tencent.com/developer/article/1193011 webSocket与ajax、web 一、webSocket与ajax 1、ajax2、webSocket二、webSocket API 1、事件2、方法3、属性4、常量三、webSocket与HTTP四、w…

动态规划,背包问题

背包问题模型&#xff0c;背包问题是一类整数规划问题&#xff0c;叙述如下&#xff1a;设有n件物品&#xff0c;并且第i件物品的重量为&#xff0c;其价值为&#xff0c;而背包能承受的总重量是&#xff0c;问应如何选择这些物品&#xff0c;才可以使背包中所装物品的价值最大…

routing zuul_尚学堂0131之zuul的相关概念及如何性能调优

采用服务名称指定路由方式1.1使用服务名称指定路由的规则是什么&#xff1f;1.2需改配置文件&#xff0c;将路由规则修改为使用服务名称路由。通过服务名, service-id为服务名zuul:routes:E-Book-Product-Provider:path: /suibian/**service-id: E-Book-Product-Provider路由的…

实时通信:使用Spring Boot实现Websocket

在开发Web应用程序时&#xff0c;有时我们需要将服务器事件下推到已连接的客户端。 但是&#xff0c;HTTP并非旨在允许这样做。 客户端打开与服务器的连接并请求数据。 服务器不会打开与客户端的连接并推送数据。 为了解决此限制&#xff0c;建立了一种轮询模式&#xff0c;其…

CUDA10.1配置VS2017

目录 一 CUDA 安装 二 CUDA环境变量配置 三 CUDA配置VS2017 一 CUDA 安装 1.1 CUDA下载 网址&#xff1a;https://developer.nvidia.com/cuda-toolkit-archive 可以根据需要下载不同版本的CUDA安装包。 1.2 CUDA安装 1.2.1 双击下载的.exe文件安装 1.2.2 点击‘OK’ 1.2…

鸿蒙应用开发 常用组件与布局

简介 HarmonyOS ArkUI 提供了丰富多样的 UI 组件&#xff0c;您可以使用这些组件轻松地编写出更加丰富、漂亮的界面。在本篇 Codelab 中&#xff0c;您将通过一个简单的购物社交应用示例&#xff0c;学习如何使用常用的基础组件和容器组件。本示例主要包含&#xff1a;“登录”…

[数论]莫比乌斯反演1

索引 莫比乌斯反演1 定理莫比乌斯反演2 证明莫比乌斯反演3 技巧前言 本篇内容全部为定理&#xff0c;无证明 定义 莫比乌斯函数的符号为\(\mu\)&#xff0c;通俗的来讲\[ \mu(n) \left\{ \begin{matrix} 1 & n1\\ (-1)^k & n p_1p_2p_3\dots p_k\\ 0 & \text{其他…

怎么卸载光速头条_我用这三招,整理了桌面并且屏蔽了广告弹窗

这段时间&#xff0c;在用公司电脑工作时&#xff0c;有两个问题让我非常不爽。一是正处在专心工作中&#xff0c;突然桌面中间就弹出一个&#xff1a;天猫双12的广告&#xff0c;而且还没有关闭按钮。只能打开然后再关闭。二是每次打开电脑&#xff0c;桌面中间和右下角就有一…

Qt配置VS2017

目录 一 Qt安装 二 VS2017安装 三 Qt配置VS2017 一 Qt安装 1.1 下载网址&#xff1a;http://download.qt.io/archive/qt/ 这里选择 1.2 安装Qt 安装路径可以自己更改&#xff0c;然后点下一步 可以根据自己的VS版本自己选择&#xff0c;我们这里选MSVC-2017 64-bit 二…

opencv python tutorials_OpenCV-Python Tutorials 笔记(二)

OpenCV官方有一个面向python的文档OpenCV-PythonTutorials&#xff1a;我根据此文档进行了实践学习&#xff0c;结合自己经验简单记录一下笔记。(续)4、Image Processing inOpenCV4.1ChangingColorspaces转换颜色空间算是极其常用的操作了。不用说&#xff0c;cvtColor()。相关…