第12周项目4(2)输出简单路径
来源:互联网 发布:淘宝屏蔽广告内容 编辑:程序博客网 时间:2024/05/22 16:48
函数:
#include <stdio.h>#include <malloc.h>#include "1.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void FindAPath(ALGraph *G,int u,int v,int path[],int d){ //d表示path中的路径长度,初始为-1 int w,i; ArcNode *p; visited[u]=1; d++; path[d]=u; //路径长度d增1,顶点u加入到路径中 if (u==v) //找到一条路径后输出并返回 { printf("一条简单路径为:"); for (i=0; i<=d; i++) printf("%d ",path[i]); printf("\n"); return; //找到一条路径后返回 } p=G->adjlist[u].firstarc; //p指向顶点u的第一个相邻点 while (p!=NULL) { w=p->adjvex; //相邻点的编号为w if (visited[w]==0) FindAPath(G,w,v,path,d); p=p->nextarc; //p指向顶点u的下一个相邻点 }}void APath(ALGraph *G,int u,int v){ int i; int path[MAXV]; for (i=0; i<G->n; i++) visited[i]=0; //访问标志数组初始化 FindAPath(G,u,v,path,-1); //d初值为-1,调用时d++,即变成了0}int main(){ ALGraph *G; int A[5][5]= { {0,0,0,0,0}, {0,0,1,0,0}, {0,0,0,1,1}, {0,0,0,0,0}, {1,0,0,1,0}, }; //请画出对应的有向图 ArrayToList(A[0], 5, G); APath(G, 1, 0); APath(G, 4, 1); return 0;}
函数实现:
0 0
- 第12周 项目4(2)- 输出简单路径
- 第12周项目4(2)输出简单路径
- 第12周 项目4(3)-输出所有路径
- 第14周项目4(3)输出所有路径
- 第十二周 项目4 输出简单路径
- 第十二周 项目四(2)-输出简单路径
- 第12周 项目4(1)- 是否有简单路径?
- 第12周项目4(1)是否有简单路径
- 第12周 项目4(4)-输出一些简单回路
- 第十二周 项目4 输出一些简单路径
- 第12周 项目4(5)-输出通过一个节点的所有简单回路
- 第十二周 项目四 输出简单路径
- 第十二周项目4——利用遍历思想求解图问题(2)-输出简单路径
- 第十二周 项目4 利用遍历思想求解图问题(输出简单路径 )
- 第12周 项目4-判断顶点u到v是否有简单路径
- 第14周项目4(4)输出一些简单回路
- 第14周项目4(5)输出通过一个节点的简单回路
- 第12周 项目4(6)-最短路径
- jquery.cookie 使用方法
- 第十六周 项目1.4——验证算法
- 第十五周 项目1 堆排序
- 民意调查Django实现(三)
- 第十二周 项目1 图基本算法库
- 第12周项目4(2)输出简单路径
- 第六周项目4 数制转换
- 第十六周——【项目2 - 大数据集上排序算法性能的体验】
- jsp与jspx文件
- 第十六周--归并排序算法的改进
- 第十五周项目一:验证算法
- TinyOS论文09:Random Testing of Interrupt-Driven Software
- 第14周SHH数据结构-【项目1-(2)验证分块查找算法】
- device_add()浅析