从品牌网站建设到网络营销策划,从策略到执行的一站式服务
题目
假设图 G 采用邻接表存储,设计一个算法,输出图 G 中从顶点 u 到v 的
所有简单路径。
分析
采用深度优先遍历的方法,在 DFS 算法的基础上改为 G、u、v、path 和d 共5 个形参, 其中 path 数组存放路径(初始为空),d 表示路径长度(初始为-1),查找从顶点 u 到v 的所有简单路径过程如图所示。
代码
void FindPath(AGraph *G,int u,int v,int path[],int d)
//d 是到当前为止已走过的路径长度,调用时初值为-1
{int w,i;
ArcNode *p;
d++; //路径长度增 1
path[d] =u; //将当前顶点添加到路径中
visited[u] =1; //置已访问标记
if (u == v) //找到一条路径则输出
printf("%2d" , path[i]); //输出路径
p=G->adjlist[u].firstarc; //p 指向 v 的第一个相邻点
while (p!=NULL)
{w=p->adjvex; //w 为顶点 u 的相邻顶点
if(visited[w]==0) //若 w 顶点未访问,递归访问它
FindPath(G, w,v , path, d);
p=p->nextarc; //p 指向 v 的下一个相邻点
}
visited[u]=0; /恢复环境,使该顶点可重新使用
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图