最小生成树算法及其应用说课讲解.ppt 立即下载
2024-12-03
约1.5千字
约17页
0
347KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

最小生成树算法及其应用说课讲解.ppt

最小生成树算法及其应用说课讲解.ppt

预览

免费试读已结束,剩余 12 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用最小生成树算法及应用机器蛇【输入】
输入数据的第一行是一个整数n(n≤200)表示参战的机器蛇总数。
以下n行,每行两个整数xi,yi,为第i支机器蛇的战斗位置。
接下来一行是一个整数m(m≤100)表示航母内部可能产生屏蔽的位置。
最后m行,每行四个整数ai,bi,ci,di,表示线段(ai,bi)-(ci,di)处可能有屏蔽,也就是说通讯网络不能跨越这条线段。
【输出】
输出数据应仅包括一个实数,表示建立的通讯网的最短长度,保留3位小数。
如果不能成功建立通讯网,请输出-1.000。算法分析2、套用最小生成树的经典算法求解functioncp(p1,p2,p:TPoint):integer;{计算矢量PP1*PP2}
var
v:longint;
begin
v:=(p1.x-p.x)*(p2.y-p.y)-(p1.y-p.y)*(p2.x-p.x);
ifv=0thencp:=0elseifv>0thencp:=1elsecp:=-1;
end;{cp}
functiondist(a,b:integer):longint;{计算第a条机器蛇和第b条机器蛇间的距离,若ab之间有屏蔽,则距离设为无穷大}
var
i:integer;
begin
dist:=oo;
fori:=1tomdo{如果a到b穿过第i个屏蔽,则返回无穷大}
if(cp(w1[i],w2[i],s[a])*cp(w1[i],w2[i],s[b])=-1)and
(cp(s[a],s[b],w1[i])*cp(s[a],s[b],w2[i])=-1)thenexit;
dist:=sqr(s[a].x-s[b].x)+sqr(s[a].y-s[b].y);
end;{dist}begin
read(n);{读入数据}
fori:=1tondowiths[i]doread(x,y);
read(m);
fori:=1tomdoread(w1[i].x,w1[i].y,w2[i].x,w2[i].y);
{用Prim算法求最小生成树}
fillchar(ba,sizeof(ba),0);{所有机器蛇未访问}
fori:=2tondod[i]:=oo;{最短边长序列初始化}
d[1]:=0;ans:=0;{从机器蛇1出发,通信网的最短长度初始化}
fori:=1tondobegin{访问n条机器蛇}
min:=oo;{在所有未访问的机器蛇中寻找与已访问的机器蛇相连且具有最短边长的机器蛇k}
forj:=1tondoifnotba[j]and(d[j]<min)thenbegin
k:=j;min:=d[j];
end;{then}
ifmin=oothenbeginans:=-1;break;end;{then}{若这样的机器蛇不存在,则无解退出}
ans:=ans+sqrt(min);ba[k]:=true;{最短边长计入通信网,机器蛇k已访问}
forj:=1tondo{机器蛇k出发的所有不受屏蔽的边中,寻找边长最短的(k,j)}
beginmin:=dist(k,j);ifmin<d[j]thend[j]:=min;end;{for}
end;{for}
writeln(ans:0:3);{输出通信网的最短长度}
end.{main}
查看更多
王子****青蛙
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

最小生成树算法及其应用说课讲解

文档大小:347KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用