数据结构(C语言版) 图 算法设计Demo5
Posted Aiden (winner)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 图 算法设计Demo5相关的知识,希望对你有一定的参考价值。
采用邻接表存储结构,编写一个算法,判别无向图中任意给定的两个顶点之间是否存在一条长度为为k的简单路径。
[算法描述]
int visited[MAXSIZE];
int exist_path_len(ALGraph G,int i,int j,int k)
//判断邻接表方式存储的有向图G的顶点i到j是否存在长度为k的简单路径
if(i==j&&k==0)
return 1; //找到了一条路径,且长度符合要求
else if(k>0)
visited[i]=1;
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
l=p->adjvex;
if(!visited[l])
if(exist_path_len(G,l,j,k-1))
return 1; //剩余路径长度减一
//for
visited[i]=0; //本题允许曾经被访问过的结点出现在另一条路径中
//else
return 0; //没找到
//exist_path_len
以上是关于数据结构(C语言版) 图 算法设计Demo5的主要内容,如果未能解决你的问题,请参考以下文章