第十二周项目4-利用遍历思想求解图问题(3)
来源:互联网 发布:php傻瓜安装环境 编辑:程序博客网 时间:2024/06/15 06:35
Copyright (c) 2015,烟台大学计算机学院
All rights reserved,
All rights reserved,
文件名称:idea.cpp
作者:王阳
完成日期:2015年12月07日
输出从顶点u到v的所有简单路径:
int main(){ ALGraph *G; int A[5][5]= { {0,1,0,1,0}, {1,0,1,0,0}, {0,1,0,1,1}, {1,0,1,0,1}, {0,0,1,1,0} }; //请画出对应的有向图 ArrayToList(A[0], 5, G); DispPaths(G, 1, 4); return 0;}
int visited[MAXV]; //定义存放节点的访问标志的全局数组void FindPaths(ALGraph *G,int u,int v,int path[],int d)//d是到当前为止已走过的路径长度,调用时初值为-1{ int w,i; ArcNode *p; visited[u]=1; d++; //路径长度增1 path[d]=u; //将当前顶点添加到路径中 if (u==v && d>1) //输出一条路径 { printf(" "); for (i=0; i<=d; i++) printf("%d ",path[i]); printf("\n"); } p=G->adjlist[u].firstarc; //p指向u的第一条边 while(p!=NULL) { w=p->adjvex; //w为u的邻接顶点 if (visited[w]==0) //若顶点未标记访问,则递归访问之 FindPaths(G,w,v,path,d); p=p->nextarc; //找u的下一个邻接顶点 } visited[u]=0; //恢复环境}void DispPaths(ALGraph *G,int u,int v){ int i; int path[MAXV]; for (i=0; i<G->n; i++) visited[i]=0; //访问标志数组初始化 printf("从%d到%d的所有路径:\n",u,v); FindPaths(G,u,v,path,-1); printf("\n");}
0 0
- 第十二周项目4-利用遍历思想求解图问题
- 第十二周项目4利用遍历思想求解图问题
- 第十二周项目4--利用遍历思想求解图问题
- (第十二周项目4)利用遍历思想求解图问题
- 第十二周 项目4 -利用遍历思想求解图问题
- 第十二周项目4----利用遍历思想求解图问题
- 第十二周项目4-利用遍历思想求解图问题
- 第十二周项目4-利用遍历思想求解图问题
- 【第十二周项目4 - 利用遍历思想求解图问题】
- 第十二周项目4-利用遍历思想求解图问题
- 第十二周项目4 利用遍历思想求解图问题
- 第十二周项目4 利用遍历思想求解图问题
- 第十二周项目4-利用遍历思想求解图问题
- 第十二周 项目4 -利用遍历思想求解图问题
- 第十二周项目4-利用遍历思想求解图问题
- 【 第十二周项目4----利用遍历思想求解图问题】
- 第十二周项目4——利用遍历思想求解图问题(3)(4)
- 第十二周 项目4-利用遍历思想求解图问题(3)(4)
- Source Insight 中文乱码,用iconv转码,解决中文乱码问题_20150930更新
- 第15周上机实践项目3 - B-树的基本操作
- 第十三周项目4 Floyd算法
- 第十五周项目1-验证算法(1)
- 第十四周项目3是否二叉排序树?
- 第十二周项目4-利用遍历思想求解图问题(3)
- 第14周项目3 是否二叉排序树?
- 第14周项目1-(3)验证二叉排序树相关算法
- JSON使用ConstructorHanding反序列化非公共构造函数
- B-树的基本操作
- 第十三周项目1 prim算法
- 数据库的设计及登录锁定功能的思路
- 用哈希法组织关键字
- 第十五周项目1-验证算法(2)