哈密尔顿图遍历void HaMiTonian(int m) /* 哈密尔顿图的遍历 */{ if(m>8) return;L:NextValue(m);if(x[m]==0) return;if(m==7&&G.arcs[0][x[8]-1].adj!=10000) display(); else HaMiTonian(m+1); goto L; } void NextValue(int k) {int j;l:x[k]=(x[k]+1

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/04 19:05:48
哈密尔顿图遍历void HaMiTonian(int m) /* 哈密尔顿图的遍历 */{ if(m>8) return;L:NextValue(m);if(x[m]==0) return;if(m==7&&G.arcs[0][x[8]-1].adj!=10000) display(); else HaMiTonian(m+1); goto L; } void NextValue(int k) {int j;l:x[k]=(x[k]+1
xVkSW+$J̴f@4ɌS[Yu]3dgр4AV%B[4" g/{Z y9 FzWWņ^l݆Zy13=8^D;r. Gܔ-28罣q6!N09{a5|>Wa|{ 0I ܁&vǎ 3mv/bY NG(D"ѼqyÞ6~wq'+IœG֥K[6߉ChW,d"/ JG0 HGogvud0{#fxɡT4n \а362O'ŪRKe]]:u(|eeOi%×yPRA>專w˸zHxȊQRZA.hŒz|˧(Ey]US5\{tRvT֋eR];]`.o+ ԫqT.j%)sj9+7b `iIֵU,GzɓQ^dyv/}Oj45 Kmy~'Z_o*<k^N:|& OlE4] AJa,P vi5(fڑNJ8 -҂GQZDs8U4Q˥e\6C/Ko5M4ƈ36=vV9r 9jnjXg0X i >b| a, $%5b+t5/N^C Dp7c0N?FFv 11*D

哈密尔顿图遍历void HaMiTonian(int m) /* 哈密尔顿图的遍历 */{ if(m>8) return;L:NextValue(m);if(x[m]==0) return;if(m==7&&G.arcs[0][x[8]-1].adj!=10000) display(); else HaMiTonian(m+1); goto L; } void NextValue(int k) {int j;l:x[k]=(x[k]+1
哈密尔顿图遍历
void HaMiTonian(int m) /* 哈密尔顿图的遍历 */
{
if(m>8) return;
L:NextValue(m);
if(x[m]==0) return;
if(m==7&&G.arcs[0][x[8]-1].adj!=10000) display();
else HaMiTonian(m+1);
goto L;
}
void NextValue(int k)
{
int j;
l:x[k]=(x[k]+1)%10;
if(x[k]==0) return;
if(G.arcs[x[k-1]-1][x[k]-1].adj!=10000)
{
for(j=0;j

哈密尔顿图遍历void HaMiTonian(int m) /* 哈密尔顿图的遍历 */{ if(m>8) return;L:NextValue(m);if(x[m]==0) return;if(m==7&&G.arcs[0][x[8]-1].adj!=10000) display(); else HaMiTonian(m+1); goto L; } void NextValue(int k) {int j;l:x[k]=(x[k]+1
解释比较麻烦,我这有个参考程序你看下,
/*校园导游程序:
用无向网表示学校的校园景点平面图.
图中顶点表示主要景点,存放景点的编号,名称,简介等信息.
图中的边表示景点间的道路,存放路径长度等信息.
要求:(1)查询各景点的相关信息.
(2)查询图中任意两个景点间的最短路径.
(3)查询图中任意两个景点间的所有路径.*/
#include
#include
#include
#define MAXV 20/*最多顶点个数*/
#define MAXSIZE 20/*字符串成员name的最大长度*/
#define MAXLEN 500/*字符串成员content的最大长度*/
#define INF 32767/*用32767表示∞*/
int a=0;/*全局变量,用来记录每对顶点之间的所有路径的条数*/
typedef struct
{int num;/*顶点编号*/
char name[MAXSIZE];/*顶点名称*/
char content[MAXLEN];/*顶点信息*/
}VertexType;/*顶点的结构定义*/
typedef struct
{int edges[MAXV][MAXV];/*网的邻接矩阵存储*/
int vexnum,arcnum;/*网中的顶点数和边数*/
VertexType vexs[MAXV];/*顶点向量*/
}MGraph;/*网的结构定义*/
int visited[MAXV];/*全局数组,用来记录各顶点被访问的情况*/
int p[MAXV];/*全局数组,用来存放路径上的各顶点*/
void path(MGraph g,int i,int j,int k)
/*确定路径上第k+1个顶点的序号*/
{int s;
if(p[k]==j)/*找到一条路径*/
{
a++;/*路径的条数值加1*/
printf("第%d条:",a);
for(s=0;s