最小生成树问题的算法实现及复杂度分析—天津大学计算机科学与技术学院(算法设计与分析内容摘要:
ocateVex(G,v1)。 j=LocateVex(G,v2)。 if(i0||j0) return ERROR。 G. arcs[i][j].adj=weight。 [j][i].adj=[i][j].adj。 } return OK。 } 3. 最小生成树建立主程序,采用借助辅助数组的方式,对于辅助的数组,以邻接表的选择点加入该数组,然后查找数组中权值最小,且未被选中的顶点,然后返回该边,加入最小生成树中。 void MiniSpanTree_PRIM(MGraph G,VertexType u) { closedge dge。 //申请数组 result pax。 int k,j,i,lax,time = 0,x,y。 lax= 1。 k=LocateVex(G,u)。 // 确 定初 始结 点 的下 标 for(j=0。 j。 ++j) //初始化临时辅助数组 if(j!=k) { dge[j].lowcost=[k][j].adj。 //数组中的 adjvex均为 u,即从 u 开始到所有其他结点的权值赋给了数组中 lowcost dge[j].adjvex=u。 //数组中的下标起箭头的作用,即它是边的第二个尾结点。 } dge[k].lowcost=0。 //u 在数组 dge的下标即为 k,故自身到自身权值标为 0,也表示纳入点集 V。 for(i=1。 i。 ++i) { k=minimun(G,dge)。 // 在 dge数组中找到最小的一条边,并返回尾结点的下标。 coutK 的寻求结果为 (数组 dge 中的下标): kendl。 coutdge[k].adjvex [k] endl。 //输出边 pax[time].head=dge[k].adjvex。 pax[time].last=[k]。 x=LocateVex(G,dge[k].adjvex)。 y=LocateVex(G,[k])。 pax[time].weight=[x][y].adj。 time++。 dge[k].lowcost=0。 //把下标为 k 的结点纳入点集 V。 标注权值为 0。 for(j=0。 j。 ++j) if([k][j].adjdge[j].lowcost) { //新加入的点到其他各点的权值比原来的权值更小,则 替换。 采取遍历的方法。 dge[j].lowcost=[k][j].adj。 dge[j].adjvex=[k]。 //点的名字进行修改。 } } cout最小生成树为: endl起点 终点 权值endl。 for(time=0。 timelax。 time++) cout pax[time].head pax[time].last pax[time].weightendl。 } 4. 辅助生成。最小生成树问题的算法实现及复杂度分析—天津大学计算机科学与技术学院(算法设计与分析
相关推荐
1、农业技术全集之植,菜是闽北山区重要油料作物主一,年种植面积在 1350 公顷左右,是山区农户充分利用农闲田种植一季作物增收的重要项目。 20 世纪 90 年代初由于品种单一,土壤中微量元素不足、连作以及气候等因素的影响,在种植过程中常遭受病虫危害,局部防治不及时田块,产量低、品质差,对山区油料作物发展威胁较大。 据多年田间观察和调查,当地油菜常见病虫害有菌核病、霜霉病、白锈病、病毒病和蚜虫
方可开展经营。 我部将在系统中定期检查 和不定期抽查 各地执行情况,对未按规定及时 、完整 备案的,将视情况在商务系统内给予通报批评、并责令限期整改,限期未改,收回审批权限。 (三) 备案表及说明 商业企业信息 备案 表 企业名称 注册地址 25 投资总额 注册资本 股权结构 中方:(出资额)(占比) 外方:(出资额)(占比) 经营范围 经营期限 法人代表 (以上内容由系统根据存根内容自动生成
成创新 C. 原始创新 D. 研究历史理论再创新 3 19 世纪 70 年代,当时著名的打字机制造商肖尔斯公司听到很多用户的抱怨:打字员打字速度太快的话,按键就会撞在一起。 工程师们讨论后,于是就想出了低效的键盘排列 组合。 这个不同凡响的创意不仅解决了键盘上的撞击问题,这种“低效逻辑 ”在键盘设计思路上得到了普遍认可。 自从这个解决方案诞生后
职资格年限 填空题 第 32 题收藏 第二讲第一节 “继续教育的涵 义 ”中提到,教材第二讲的编写依据是《广东省专业技术人员继续教育条例》中对于专业技术人员继续教育的定义:专业技术人员继续教育对专业技术人员进行以新理论、新知识、新技术、新方法等为主要 ( 5分) 解析: 初级以上专业技术职务任职资格的在职人员,以及专业技术类公务员 填空题 第 35 题收藏 第二讲第二节