欢迎您访问52IJ教育培训网,今天小编为你分享的数学方面的学习知识是通过网络精心收集整理的:“floyd算法_怎么根据Floyd算法 从多个顶点中选出几个,使其他点到...[数学]”,注意:所整理内容不代表本站观点,如你有补充或疑问请在正文下方的评论处发表。下面是详细内容。
先用floyd求出距离矩阵D,即以下代码中的矩阵B.
以下matlab程序为从12个点中选出3点,可以此类推.
clear all;
A=[combntns(1:12,3)]; %列出12个居民点选3个缴费点的所有情况.
for i=1:nchoosek(12,3) %for……end,循环,计算以上列出所有情况下所有居民需要行走的总路程!
A2=A(i,:);
A3=A2(1,1); %读取选取3个居民点
A4=A2(1,2);
A5=A2(1,3);
People=[15 10 12 18 5 24 11 16 13 22 19 20]; %每个居民点的人数的矩阵.
B=[
0 15 37 55 24 60 18 33 48 40 58 67;
15 0 22 40 38 52 33 48 42 55 61 61;
37 22 0 18 16 30 43 28 20 58 39 39;
55 40 18 0 34 12 61 46 24 62 43 34;
24 38 16 34 0 36 27 12 24 49 37 43;
60 52 30 12 36 0 57 42 12 50 31 22;
18 33 43 61 27 57 0 15 45 22 40 61;
33 48 28 46 12 42 15 0 30 37 25 46;
48 42 20 24 24 12 45 30 0 38 19 19;
40 55 58 62 49 50 22 37 38 0 19 40;
58 61 39 43 37 31 40 25 19 19 0 21;
67 61 39 34 43 22 61 46 19 40 21 0 ;
]; %居民到其他居民点所有最短的距离.
B1=B(:,A3); %居民点到所选的缴费点的理论最短距离.
B2=B(:,A4);
B3=B(:,A5);
C=[B1 B2 B3];
D=sort(C,2);
Shortjourney=D(:,1); %每位居民选择缴费点后需要行走的最短路程.
Sum(i)=People*Shortjourney; %所有居民所要行走的路程总和.
end
E=[reshape(Sum,nchoosek(12,3),1)]; %将以上得到的数组转为矩阵.
minposition=find(E==min(E)); %找出最小值在矩阵的位置.
A=[combntns(1:12,3)]; %A的顺序与E的一致!
position=A(minposition,:) %最佳的缴费点的选择.
其他类似问题
问题1:用c++实现 利用BFS算法在图中求各顶点与搜索起点间的最短距离在无权有向图中,两个顶点之间的距离定义为:如果顶点i经过k步到达顶点j,则顶点i到顶点j的距离为k.怎么用c++,利用BFS求得一个
用队列来做就可以了
问题2:图中,判断那两个顶点距离最远.采用广度优先算法?c语言编写
#include
int main(void)
{
int n;
int i,j,k;
int g[100][100];
scanf("%d",&n);
for(j=0;j
问题3:急救,已知有向图如下,利用迪杰特拉算法(Dijkstra),求V0到各顶点的最短距离和路线,即填写如下表格.终点\x09从V0到各终点的dist值和最短距离V1\x09\x09\x09\x09\x09V2\x09\x09\x09\x09\x09V3\x09\x09\x09\x09\x09V4[数学科目]
我擦,太难了
问题4:我有一个73*73的距离矩阵,想用floyd算法求一下任意两点之间的最短距离,您能把程序给我发一下吗?还有怎么运用?以及路径的输出,我要做一个运筹学的题目,需要floyd算法,hi交谈也可以,[数学科目]
嗯
问题5:floyd算法计算出距离矩阵之后怎么做[数学科目]
你想实现什么?
- lingo教程_...end 在lingo实现时显示错误有个教程
- f.t island_f.t island怎么读[数学]
- 反三角函数定义域_反三角函数~arcsinarccosarctan
- 如图 抛物线y_如图,一条抛物线y=ax2+bx(a≠0)的
- 石景山邮编_...:北京市石景山区永乐东小区40楼2
- 国际禁毒日是几月几日_...月几日?禁毒日是几月几
- π等于多少_sin4分之π等于多少?我要计算过程[数
- 杨桃的英文_猕猴桃的英文怎么读[数学]
- containskey_...= new Dictionary();if seriesTyp
- 循环_超级难题19=0.11111.(循环)29=0.222222.一直
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
