欢迎来到天天文库
浏览记录
ID:59522063
大小:74.50 KB
页数:5页
时间:2020-11-06
《欧拉图的判定.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的:判定一个图是否是欧拉图二、实验内容:1)题目:.(1)(2)(3)各图的邻接矩阵:V1V2V3V4V5V6V1011000V2101100V3110110V4011011V5001101V6000110V1V2V3V4V5V6V1011000V2101200V3110110V4021012V5001102V6000220V1V2V3V4V5V6V7V10110000V21011000V31101100V40110110V50011010V60001100V700000002)代码:#inc
2、lude"stdio.h"#include"math.h"#definem6/*定义结点个数*/floatM=.0;/*用于比较权重选择最优路径*/floatB[m][m]={0},D[m][m]={0},C[m]={0};/*记录权重*/intE[m][m]={0};/*记录两点间的路径是否被选择*/intX[m]={0},Y[m]={0};/*记录已选择的点*/ints=0;intjudge()/*判断是否所有点都已连接*/{intk,s=0,t=0,flag1=0;for(k=0;k3、{if(X[k]==0){flag1=0;t=k+1;break;}elseflag1=1;}if(flag1==0)s=t;returns;}voidsearch()/*选择从所有已连点到未连点中权重最小但大于0的路径*/{floatM1=0.0;inti,j,k1=0,k2=0;M1=M;for(i=0;i0){M1=B[i][j];k1=i;k2=j;}}4、}}}if(M1==M)s=1;else{E[k1][k2]=1;B[k1][k2]=B[k2][k1]=M;X[k2]=1;Y[k2]=1;}}voidmain(){intr=0,flag=0,flag1=0;inti,j;printf("输入图的邻接矩阵:");for(i=0;i5、=1){r=judge();if(r==0){flag=1;break;}else{flag=2;break;}}}if(flag==1){printf("该图有最小支撑树,是连通图!");for(i=0;i6、("该图是不连通的,不是欧拉图!");}3)运行结果:三、使用环境适用于解决各种欧拉图的判定问题,在使用时需根据实际情况来更改预定义的m的值
3、{if(X[k]==0){flag1=0;t=k+1;break;}elseflag1=1;}if(flag1==0)s=t;returns;}voidsearch()/*选择从所有已连点到未连点中权重最小但大于0的路径*/{floatM1=0.0;inti,j,k1=0,k2=0;M1=M;for(i=0;i0){M1=B[i][j];k1=i;k2=j;}}
4、}}}if(M1==M)s=1;else{E[k1][k2]=1;B[k1][k2]=B[k2][k1]=M;X[k2]=1;Y[k2]=1;}}voidmain(){intr=0,flag=0,flag1=0;inti,j;printf("输入图的邻接矩阵:");for(i=0;i5、=1){r=judge();if(r==0){flag=1;break;}else{flag=2;break;}}}if(flag==1){printf("该图有最小支撑树,是连通图!");for(i=0;i6、("该图是不连通的,不是欧拉图!");}3)运行结果:三、使用环境适用于解决各种欧拉图的判定问题,在使用时需根据实际情况来更改预定义的m的值
5、=1){r=judge();if(r==0){flag=1;break;}else{flag=2;break;}}}if(flag==1){printf("该图有最小支撑树,是连通图!");for(i=0;i6、("该图是不连通的,不是欧拉图!");}3)运行结果:三、使用环境适用于解决各种欧拉图的判定问题,在使用时需根据实际情况来更改预定义的m的值
6、("该图是不连通的,不是欧拉图!");}3)运行结果:三、使用环境适用于解决各种欧拉图的判定问题,在使用时需根据实际情况来更改预定义的m的值
此文档下载收益归作者所有