哈密尔顿图遍历void HaMiTonian(int m) /* 哈密尔顿图的遍历 */{ if(m>8) return
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/18 20:49:09
哈密尔顿图遍历
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)%10;
if(x[k]==0) return;
if(G.arcs[x[k-1]-1][x[k]-1].adj!=10000)
{
for(j=0;j
解释比较麻烦,我这有个参考程序你看下,
/*校园导游程序:
用无向网表示学校的校园景点平面图.
图中顶点表示主要景点,存放景点的编号,名称,简介等信息.
图中的边表示景点间的道路,存放路径长度等信息.
要求:(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
/*校园导游程序:
用无向网表示学校的校园景点平面图.
图中顶点表示主要景点,存放景点的编号,名称,简介等信息.
图中的边表示景点间的道路,存放路径长度等信息.
要求:(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
pascal编程,有关图的遍历
完全图Kn中 有多少条不同的哈密尔顿回路(你》=3)
图论里面马的“周游问题”(即马走遍8*8棋盘),请问有人知道图论的证明吗?与哈密尔顿回路有关.
tsp是什么啊?用TSP算法来遍历图的时候,遍历形成了一个环,没有遍历到所有节点,如何改进,还是这种算法本身就有缺陷啊,
#include void main() { int m; for(m=10;m>3.m--) {if(m%3) m--
哈密尔顿图证明题设G是简单图,删去G中任一边e,则G-e是一棵生成树.证明是哈密尔顿图
已知二叉树的先根遍历和中序遍历,求后序遍历的算法?
int f(int m,int n) { if(m < n) return 0; if(n==0) return 1;
请给位大虾帮忙给这个图的邻接矩阵做个深度优先遍历算法
已知二叉树的后序遍历序列和中序遍历序列,怎样求其前序遍历序列!
已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是:
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是什么?