数据结构作业系统第七章答案计算机数据结构与算法_计算机-数据结构与算法.pdf
《数据结构作业系统第七章答案计算机数据结构与算法_计算机-数据结构与算法.pdf》由会员分享,可在线阅读,更多相关《数据结构作业系统第七章答案计算机数据结构与算法_计算机-数据结构与算法.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 试基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶 点 vi 到顶点 vj 的路径(i j)。注意:算法中涉及 的图的基本操作必须在此存储结构上实现。实现下列函数:Status DfsReachable(ALGraph g,int i,int j);/*Judge if it exists a path from vertex i to */*vertex j in digraph g.*/*Array visited has been initialed to false.*/图的邻接表以及相关类型和辅助变量定义如下:Status visitedMAX_VERT
2、EX_NUM;typedef char VertexType;typedef struct ArcNode int adjvex;struct ArcNode*nextarc;ArcNode;typedef struct VNode VertexType data;ArcNode *firstarc;VNode,AdjListMAX_VERTEX_NUM;typedef struct AdjList vertices;int vexnum,arcnum;ALGraph;Status DfsReachable(ALGraph g,int i,int j)/*Judge if it exists
3、a path from vertex i to */*vertex j in digraph g.*/*Array visited has been initialed to false.*/int k;ArcNode*p;visitedi=1;for(p=i.firstarc;p;p=p-nextarc)if(p)k=p-adjvex;if(k=j)return 1;if(visitedk!=1)if(DfsReachable(g,k,j)return 1;return 0;同题要求。试基于图的广度优先搜索策略写一算法。实现下列函数:Status BfsReachable(ALGraph g
4、,int i,int j);/*Determine whether it exists path from vertex i to*/*vertex j in digraph g with Breadth_First Search.*/*Array visited has been initialed to false.*/图的邻接表以及相关类型和辅助变量定义如下:Status visitedMAX_VERTEX_NUM;typedef char VertexType;typedef struct ArcNode int adjvex;struct ArcNode*nextarc;ArcNod
5、e;typedef struct VNode VertexType data;ArcNode *firstarc;VNode,AdjListMAX_VERTEX_NUM;typedef struct AdjList vertices;int vexnum,arcnum;ALGraph;Status InitQueue(Queue&q);Status EnQueue(Queue&q,int e);Status DeQueue(Queue&q,int&e);Status QueueEmpty(Queue q);Status GetFront(Queue q,int&e);Status BfsRea
6、chable(ALGraph g,int i,int j)/*Determine whether it exists path from vertex i to*/*vertex j in digraph g with Breadth_First Search.*/*Array visited has been initialed to false.*/Queue q;中涉及的图的基本操作必须在此存储结构上实现实现下列函数图的邻接表以及相关类型和辅助变量定义如下同题要求试基于图的广度优先搜索策略写一算法实现下列函数图的邻接表以及相关类型和辅助变量定义如下试利用栈的基本一种抽象的数据类型实现下列
7、函数图以及相关类型函数和辅助变量定义如下图的邻接表以及相关类型函数和辅助变量定义如下已知有向图和图中两个顶点和试编写算法求有向图中从到的所有简单路径实现下列函数图的邻接表以及相十字链表以及相关类型和辅助变量定义如下试写一个算法在以邻接矩阵方式存储的有向图中求顶点到顶点的不含回路的长度为的路径数实现下列函数求有向图的顶点到之间长度为的简单路径条数图的邻接矩阵存储结构的类型定义如 int k,n;ArcNode*p;InitQueue(q);EnQueue(q,i);while(!QueueEmpty(q)DeQueue(q,k);visitedk=1;for(p=k.firstarc;p;p=p
8、-nextarc)n=p-adjvex;if(n=j)return 1;if(visitedn!=1)EnQueue(q,n);return 0;试利用栈的基本操作编写,按深度优先搜索策略 遍历一个强连通图的非递归形式的算法。算法中不规定具 体的存储结构,而将图 Graph 看成是一种抽象的数据类型。实现下列函数:void Traverse(Graph dig,VertexType v0,void(*visit)(VertexType);/*Travel the digraph dig with Depth_First Search.*/图以及相关类型、函数和辅助变量定义如下:Status v
9、isitedMAX_VERTEX_NUM;int LocateVex(Graph g,VertexType v);VertexType GetVex(Graph g,int i);int FirstAdjVex(Graph g,int v);int NextAdjVex(Graph g,int v,int w);void visit(char v);Status InitStack(SStack&s);Status Push(SStack&s,SElemType x);Status Pop(SStack&s,SElemType&x);Status StackEmpty(SStack s);St
10、atus GetTop(SStack s,SElemType&e);void Traverse(Graph dig,VertexType v0,void(*visit)(VertexType)int i,v,flag;SStack s;VertexType p;*/中涉及的图的基本操作必须在此存储结构上实现实现下列函数图的邻接表以及相关类型和辅助变量定义如下同题要求试基于图的广度优先搜索策略写一算法实现下列函数图的邻接表以及相关类型和辅助变量定义如下试利用栈的基本一种抽象的数据类型实现下列函数图以及相关类型函数和辅助变量定义如下图的邻接表以及相关类型函数和辅助变量定义如下已知有向图和图中两个顶
11、点和试编写算法求有向图中从到的所有简单路径实现下列函数图的邻接表以及相十字链表以及相关类型和辅助变量定义如下试写一个算法在以邻接矩阵方式存储的有向图中求顶点到顶点的不含回路的长度为的路径数实现下列函数求有向图的顶点到之间长度为的简单路径条数图的邻接矩阵存储结构的类型定义如图的邻接表以及相关类型、函数和辅助变量定义如下:Status visitedMAX_VERTEX_NUM;typedef char StrARR100MAX_VERTEX_NUM+1;typedef char VertexType;typedef struct ArcNode int adjvex;struct ArcNode
12、*nextarc;ArcNode;typedef struct VNode VertexType data;ArcNode *firstarc;VNode,AdjListMAX_VERTEX_NUM;typedef struct AdjList vertices;int vexnum,arcnum;ALGraph;int LocateVex(Graph g,VertexType v);void inpath(char*&path,VertexType v);/*Add vertex v to path*/void depath(char*&path,VertexType v);/*Remove
13、 vertex v from path*/Status SinglePath(ALGraph g,VertexType sv,VertexType tv,int k,char*sp)/*Judge whether it exists a path from sv to tv with length k*/*in graph g,return path using string sp if exists.*/int i,j,l;ArcNode*p;if(sv=tv&k=0)inpath(sp,tv);return OK;else i=LocateVex(g,sv);visitedi=1;inpa
14、th(sp,sv);for(p=i.firstarc;p;p=p-nextarc)l=p-adjvex;if(!visitedl)中涉及的图的基本操作必须在此存储结构上实现实现下列函数图的邻接表以及相关类型和辅助变量定义如下同题要求试基于图的广度优先搜索策略写一算法实现下列函数图的邻接表以及相关类型和辅助变量定义如下试利用栈的基本一种抽象的数据类型实现下列函数图以及相关类型函数和辅助变量定义如下图的邻接表以及相关类型函数和辅助变量定义如下已知有向图和图中两个顶点和试编写算法求有向图中从到的所有简单路径实现下列函数图的邻接表以及相十字链表以及相关类型和辅助变量定义如下试写一个算法在以邻接矩阵方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 作业 系统 第七 答案 计算机 算法
限制150内