首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
“破圈法”是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。(注意:圈就是回路)
“破圈法”是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。(注意:圈就是回路)
admin
2019-08-01
33
问题
“破圈法”是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。(注意:圈就是回路)
选项
答案
void SpnTree(AdjList g){ //用“破圈法”求解带权连通无向图的一棵最小代价生成树 tvpedef struct|int i,j,w;}node; //设顶点信息就是顶点编号,权是整数 node edge[]; scanf("%d%d",&e,&n); //输入边数和顶点数 for(i=1:i<=e;i++) //输入e条边:顶点,权值 scanf("%d%d%d",&edge[i].i,&edge[i].j,&edge[i].W); for(i=2;i<=e;i++){ //按边上的权值大小,对边进行逆序排序 edge[0]=edge[i];j=i一1; while(edge[j].w<edge[0].w)edge[j+1]=edge[j--]; edge[j+1]=edge[0]; }//for k=1:eg=e; while(eg>=n){ //破圈,直到边数e=n一1 if(connect(k)) //删除第k条边若仍连通 {edge[k].W=0;eg一一;} //测试下一条边edge[k],权值置0表示该边被删除 k++; //下条边 }//while } connect()是测试图是否连通的函数,可用DFS函数或BFS函数实现,若是连通图,一次进入DFS函数或BFS函数就可遍历完全部顶点,否则,因为删除该边而使原连通图成为两个连通分量时,该边不应删除。“破圈”结束后,可输出edge中ω不为0的n—1条边。
解析
转载请注明原文地址:https://jikaoti.com/ti/REGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
明清时期专制主义空前加强,据此回答问题:以下关于明朝“废行省、设三司”的措施评价最正确的是()
1962年2月,中共中央发出《关于改变农村人民公社基本核算单位问题的指示》,规定人民公社的基本核算单位是()。
下列长征事件的正确顺序是()。 ①四渡赤水②召开遵义会议③吴起镇会师④飞夺泸定桥
概述第二帝国时期法国经济发展的特点。
1141年,金与南宋双方签订协议,规定以淮水和大散关为宋金的分界线,此协议称为()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
全国高校院系调整的具体时间是()。
东欧剧变中倒下去的第一块多米诺骨牌是()。
下列各组条约的时间排列顺序正确的是()。①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
在AOE网络中关键路径叙述正确的是()。
随机试题
选择目标市场应处理好的关系有
患者,女,50岁。高血压病半年,并伴有双下肢肌无力。查体:血压150/95mmHg,心肺腹部无异常,四肢肌腱反射无异常。临床诊断考虑的疾病是1.原发性高血压2.继发性高血压3.颈椎病4.冠心病5.脊髓肿瘤6.醛固酮增多症
胰岛素是治疗糖尿病的重要药物。鉴于胰岛素的性质以及制备工艺所限,胰岛素制品中大多含有防腐剂,因此大多胰岛素制品只能皮下注射。为确保胰岛素稳定吸收,两次注射点需要间隔
属于自然疫源性疾病的是
已知力FP=40kN,S=20kN,物体与地面间的摩擦系数f=0.5,动摩擦系数f’=0.4,则物体所受摩擦力的大小为()
以下关于我国金融资产管理公司,说法不正确的是()。
“凉月如眉挂柳湾,越申山色镜中看”出自()的《兰溪棹歌》。
公安刑事赔偿是公安机关及其人民警察违法行使侦查职权,侵犯公民合法权益可能造成损害,由国家承担的赔偿。()
A、 B、 C、 D、 A
【S1】【S6】
最新回复
(
0
)