数据结构与算法课程设计报告-图的算法实现(编辑修改稿)内容摘要:
if(vf1!=vf2) { front[vf2]=vf1。 printf((%c%c)\n,edges[i].w1,edges[i].w2)。 } } } 3主函数 void main() { int a,i。 printf(\t\t*************图的实现算法 *****************\n)。 printf(\t\t****************************************\n\n)。 printf(\t\t\t1:建立图的邻接矩阵 \n\n)。 printf(\t\t\t2:用 prim 算法生成的最小生成树为: \n\n)。 printf(\t\t\t3:用 Dijkstra 生成的最短路径 \n\n)。 printf(\t\t\t4:用 Kruskal 算法生成的最小生成树为: \n\n)。 printf(\t\t\t5:返回 \n\n)。 printf(\t\t****************************************\n)。 printf(\t\t****************************************\n)。 printf(\n\t\t输入一个有效的数字 ,选择你要做的操作 :\n)。 system(color A)。 /*改变界面颜色的,对程序没什么 影响 */ scanf(%d,amp。 a)。 switch(a) { case 1: system(cls)。 printf(输入数据建立无向图的邻接矩阵 )。 getin_1()。 printf(数据保存成功。 \n)。 /*flag_1=1。 Undigraph()。 */ main()。 break。 case 2: getout_1()。 outmatrix()。 MiniSpanTree_PRIM([0])。 //用 prim 算法求最小生成树 main()。 break。 case 3: getout_1()。 outmatrix()。 printf(\n 采用 Dijkstra 算法得到的最短路径为: \n)。 for(i=0。 i。 i++) Dijkstra(i)。 printf(\n)。 main()。 break。 case 5: main()。 case 4: getout_1()。 outmatrix()。 printf(\n)。 edgetype edgex[1000]。 int p,q,c=0。 for(p=0。 p。 p++) for(q=p+1。 q=。 q++) { edgex[c++].Cost=[p][q]。 edgex[c].w1=[p]。 edgex[c++].w2=[q]。 } Kruskal(edgex,)。 main()。 break。 } } 功能调试 主界面 建立图的信息 用普利姆算法生成最小生成树 用狄克斯特拉算法生成最短路径 用克鲁斯卡尔算法生成最小生成树 返回 程序源代码 include include define N 9999 typedef int elemtype。 typedef struct { elemtype w1。 elemtype w2。 int Cost。 }edgetype。 typedef struct { char vexs[N]。 int edges[N][N]。 int n,e。 //顶点数和边数 }MGraph。 MGraph g。 typedef struct { char adjvex。 int lowcost。 }minside。 // 若 G中存在顶点 u,则返回该顶点在图中位置。 否则返回 1。 int LocateVex(char u) { int i。 for(i = 0。 i。 ++i) if( u==[i]) return i。 else return 1。 } // 求 的最小正值 int minimum(minside SZ[]) { int i=0,j,k,min。 while(SZ[i].lowcost==0) i++。 min=SZ[i].lowcost。 //第一个不为 0的值 k=i。 for(j=i+1。 j。 j++) if(SZ[j].lowcost0) if(minSZ[j].lowcost) { min=SZ[j].lowcost。 k=j。 } return k。 } //用 prim 算法从第 u 个顶点出发构造网 G的最小生成树 T,输出 T的各条边 void MiniSpanTree_PRIM(char u) { int i,j,k。 minside closedge[9999]。 k=LocateVex(u)。 for(j=0。 j。 ++j) //辅助数组初始化 { if(j!=k) { closedge[j].adjvex=u。 closedge[j].lowcost=[k。数据结构与算法课程设计报告-图的算法实现(编辑修改稿)
相关推荐
2 01 0 0 mS 4 0 5 4 2 ( 4) .前支承 查轴承手册, NN3000K 轴承 mmliz a 10,60 假设轴承有 7 m 的预紧量,这时滚子预紧载荷为 rQ 则 NQr 这相当于前轴承增加了附加载荷 rpF NizQF rrp 3 9 4 15 轴承的全部载荷为 += 前轴承总变形为: mA )60/ 8 7 2
26. 投标文件的修改与撤回 投标人在投 标截止时间前,可以对所递交的投标文件进行补充、修改或者撤回,并书面通知招标采购单位。 补充、修改的内容应当按招标文件要求签署、盖章,并作为投标文件的组成部分。 从投标截止时间至投标人在投标文件中确定的投标有效期期满这段时间内,投标人不得撤回其投标,否则其投标保证金将按照投标人须知的规定被没收。 五、开标与评标 27. 开标 . 本次招标采用公开开标形式。
以根据需要进行组合,但刚度较后者低,目前在一般中小型数控机床中被广泛应用。 滚针 — 圆柱滚子轴承多用于重载和要求高刚度的地方。 60176。 角接触轴承的组合配置形式有面对面的组合、背靠背组合、同向组合、一对同向与左边一个面对面组合。 由于螺母与丝杠的同轴度在制造安装的过程中难免有误差,又由于面对面组合方式,两接触线与轴线交点间的距离比背对背时小,实现自动调整较易。
lDataAdapter sda = new SqlDataAdapter(select * from STUDENT , con)。 // DataSet SET = new DataSet()。 (SET)。 = SET。 = STID。 = STID。 ()。 } } protected void Button1_Click(object sender, EventArgs e) { }
表 11 Housesinfo 楼盘 基本信息表 列名 数据类型 是否为空 说明 HouseID Char(2) Not Null 楼盘编号 (主键) HouseName Varchar (10) Not Null 楼盘名称 Floors Int(4) Null 楼层 数 HouseStyle Varchar(10) Not null 户型 Address Char(20) Not Null
管理子系统数据库的数据需求 通过与教室管理子系统数据库用户交谈等方式以及作者对教室管理系统的分析,可以得到教室管理子系统数据库系统的数据需求。 学校有多个教室。 每个教室位于某个校区的某栋教学楼,由教室编号、教室名字、教室所在的校区、教室 所在校区的教学楼、教室总容量、教室剩余容量、教师类型、教室是否可用等属性组成。 教室可供学校正常上课使用,也可以提供出租服务。 学校有多名教师。