第十二周项目四----利用遍历思想求解图问题之输出简单路径
/*烟台大学计算机与控制工程学院
时间2015年12月14日
作者:孙潇
问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题的处理方法。 假设图G采用邻接表存储,设计一个算法输出图G中从顶点u到v的一条简单路径(假设图G中从顶点u到v至少有一条简单路径)。
输入描述:无
输出描述:若干数据
*/
#include <stdio.h>
#include <malloc.h>
#include "graph.h"
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++; //路径长度增1path[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");
}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;
}
运行结果:
第十二周项目四----利用遍历思想求解图问题之输出简单路径相关推荐
- 第十二周项目四----利用遍历思想求解图问题之输出一些简单回路
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...
- 第十二周项目四----利用遍历思想求解图问题之输出所有路径
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...
- 第十二周项目四----利用遍历思想求解图问题之6最短路径
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...
- 第十二周项目四----利用遍历思想求解图问题之7最远顶点
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...
- 第十二周项目4-利用遍历思想求解图问题(6-7)
/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第十二周项目4-利用遍历思想求解图问题(6-7) 作 者:佟兴锋 完成日期: ...
- 2015年大二上-数据结构-图-1-(4)-利用遍历思想求解图问题(2)
1.最短路径 问题:求不带权连通图G中从顶点u到顶点v的一条最短路径. 附:测试用图结构 2.最远顶点 问题:求不带权连通图G中,距离顶点v最远的顶点k 附:测试用图结构 /* *Copyright ...
- 第十二周项目五-----迷宫问题之图深度优先遍历解法
烟台大学计算机与控制工程学院 作者:孙潇 时间:2015年12月15日 问题描述:[项目 - 迷宫问题之图深度优先遍历解法] 设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题. ( ...
- 第十二周项目5-迷宫问题之图深度优先遍历解法
问题: /* * Copyright(c)2015,烟台大学计算机学院 * All right reserved. * 文件名称:项目5.cbp * 作者:李艺 * 完成日期:2015年11月20日 ...
- 第十二周项目二----操作用邻接表存储的图
/*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度: (2)求出图G中出度最大的 ...
最新文章
- bash 内置wait命令使用方法
- CSS小技巧——CSS滚动条美化
- docker ubuntu镜像_Docker 入门指南 | Linux 中国
- HTML DOM 属性
- linux 卸载java jdk1.6_Linux/CentOS 卸载系统原装jdk1.4 和安装jdk1.6.1
- 抽象工厂模式(C#)
- oracle 存储过程中调用存储过程
- 下载网络图片显示在Android手机上
- 交换机 路由器 OSI7层模型
- css中关于单行文本溢出部分用省略号显示
- QQ互联本地测试【QQ互联第一步】
- 01费曼技巧 - 助你快速掌握软件测试知识
- 快手双核心时代宣告结束,互联网“退休潮”还在继续?
- K8SPod详解之pod配置
- 全网17个在线平面设计网站评测(基础体验)
- 各代iPhone iPad 内部代号 Hardware Model
- 安卓APP安装兼容性[应用是非正式发布版本, 当前设备不支持安装。]
- 做淘客怎么引流?淘客推广技巧,淘客引流方法有哪些?
- 与开发斗智斗勇的日子
- WPF资源Resources的创建以及动态修改和数据绑定。