ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:51.50KB ,
资源ID:1792493      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1792493.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(有向图的路径问题.doc)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

有向图的路径问题.doc

1、实验五有向图的路径问题1. 问题描述对于有向图 G=(V,E),任意 Vi,Vj V(ViVj) ,判断从顶点 Vi 到顶点 Vj 是否存在路径。2. 基本要求(1 ) 设计图的存储结构(2 ) 设计算法完成问题求解(3 ) 设计存储从 Vi 到 Vj 路径的存储结构(4) 输入:图可以初始化方式获取、从键盘读入或从文件读入3. 存储结构struct ArcNode /定义边表结点int adjvex; /其代表邻接点域,即是结点数组下标ArcNode *next;struct VertexNode /定义顶点表结点T vertex;ArcNode *firstedge;核心函数初始化函数AL

2、Graph:ALGraph(T a,int n,int e)vertexNum=n;arcNum=e;for(int i=0;iij;ArcNode *s;s=new ArcNode;s-adjvex=j; /输入依附的两个顶点的序号s-next=adjlisti.firstedge;adjlisti.firstedge=s; /头插法判断两点是否存在路径int ALGraph:DFS1(int i,int j)int stackMaxSize;int top;int yes;int visited3MaxSize;for(int k=0;kadjvex;/coutnext;/if(!p) t

3、op-; /注意这里的 p 值代表的是顶点表的 firstedge,其始终在,这行代码将使程序陷入是循环,无法得出正确的结果return yes;4. 源程序#include/#includeconst int MaxSize=10;/templatestruct ArcNode /定义边表结点int adjvex; /其代表邻接点域,即是结点数组下标ArcNode *next;templatestruct VertexNode /定义顶点表结点T vertex;ArcNode *firstedge;template class ALGraphpublic:ALGraph(T a,int n,

4、int e);/ALGraph(); /析构函数可以由系统自己调用,如果定义了,没有写出其算,就容易出错,thiscall-void DFSTraverse(int v);void BFSTraverse(int v);void DFS(int v);int DFS1(int i,int j);private:VertexNode adjlistMaxSize; /定义结点数组,存放顶点,注意 vertexNode 后面的不要忘记了, c+模板机制int vertexNum,arcNum;int visitedMaxSize;templateALGraph:ALGraph(T a,int n,

5、int e)vertexNum=n;arcNum=e;for(int i=0;iij;ArcNode *s;s=new ArcNode;s-adjvex=j; /输入依附的两个顶点的序号s-next=adjlisti.firstedge;adjlisti.firstedge=s; /头插法templatevoid ALGraph:DFSTraverse(int v)int j;coutadjvex;if(visitedj=0)DFSTraverse(j);p=p-next;template void ALGraph:BFSTraverse(int v)int visited1MaxSize;i

6、nt qMaxSize; /存放的是邻接点域int front,rear;for(int i=0;iadjvex;if(visited1j=0)coutnext;template void ALGraph:DFS(int v) /深度优先非递归算法int i,visited2MaxSize,sMaxSize,top=-1;ArcNode *p;for(i=0;i=-1)v=stop;top-;p=adjlistv.firstedge;while(p!=NULLif(p=NULL)top-;elsev=p-adjvex;coutint ALGraph:DFS1(int i,int j)int s

7、tackMaxSize;int top;int yes;int visited3MaxSize;for(int k=0;kadjvex;/coutnext;/if(!p) top-; /注意这里的 p 值代表的是顶点表的 firstedge,其始终在,这行代码将使程序陷入是循环,无法得出正确的结果return yes;void main()int a5=1,2,3,4,5;ALGraph A(a,5,7); /此数据类型不能为 charcoutmn;cout“yes=“A.DFS1(m,n)endl;if(A.DFS1(m,n)cout“两结点之间存在路径!“endl;else cout“两结点之间不存在路径!“endl;5. 运行截图

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报