(急)试写出程序判别以邻接表方式存储的有向图G中是否存在由顶点vi到顶点vj的路径(i≠j).
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/30 20:05:45
(急)试写出程序判别以邻接表方式存储的有向图G中是否存在由顶点vi到顶点vj的路径(i≠j).
算法如下:
int visited[MAXSIZE]; //指示顶点是否在当前路径上
int exist_path_DFS(ALGraph G,int i,int j)//深度优先判断有向图G中顶点i到顶点j是否有路径,是则返回1,否则返回0
{
if(i==j) return 1; //i就是j
else
{
visited[i]=1;
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
{
k=p->adjvex;
if(!visited[k]&&exist_path(k,j)) return 1;//i下游的顶点到j有路径
}//for
}//else
}//exist_path_DFS
void find(int A[][],int m,int n)//求矩阵A中的马鞍点
{
int i,j,min,flag;
for(i=0;inext;
}
else
{
r->next=q;
r=r->next;
q=q->next;
}
}
r->next=(p!=NULL?p:q);
free(B);
}
算法如下:
int visited[MAXSIZE]; //指示顶点是否在当前路径上
int exist_path_DFS(ALGraph G,int i,int j)//深度优先判断有向图G中顶点i到顶点j是否有路径,是则返回1,否则返回0
{
if(i==j) return 1; //i就是j
else
{
visited[i]=1;
for(p=G.vertices[i].firstarc;p;p=p->nextarc)
{
k=p->adjvex;
if(!visited[k]&&exist_path(k,j)) return 1;//i下游的顶点到j有路径
}//for
}//else
}//exist_path_DFS
void find(int A[][],int m,int n)//求矩阵A中的马鞍点
{
int i,j,min,flag;
for(i=0;inext;
}
else
{
r->next=q;
r=r->next;
q=q->next;
}
}
r->next=(p!=NULL?p:q);
free(B);
}
tyrt6uyiuyjkhjkyuujhkuftywemcnwqwnhecvsyhgynsvsehvysdnfxdnvhbmndhnfdhuuvbvhdfbvhjbvn dfjbgvhadlfbgkjazsnzjd1fn4ghmj68d1fm4f2h4gj4m981xd4m194g9h16gv54h56g4mh141jk87gj1,8+05x684e684mnszwe5918 a687h2uh61li81,7u8j9fg741n987es9gv7498q71gv98w
设计一个非递归算法判断以邻接方式存储的向图中是否存在由顶点Vi到Vj的路径.急.有哪位高手帮忙.
假设图G采用邻接表存储,设计一个算法,输出图G中从顶点u到v的所有简单路径.
数据结构 :假设图G采用邻接表存储,试设计一个算法,求不带权无向连通图G中距离顶点v的最远的顶点?
编写一个算法,给有向无环图G中每个顶点赋以一个整数序号,并满足以下条件:若从顶点i 到顶点j有一条弧,则应使i
以邻接表作存储结构实现求从源点到其余各顶点的最短路径的Dijkstra算法
在拓扑排序中,对有向图的存储,为什么要把邻接矩阵转化为邻接表
数据结构题.假定无向图G有6个结点和9条边,.(1) 画出G的邻接距阵和邻接表(2) 根据邻接表从顶点3
设计一个算法,求无向图G(采用邻接表存储)的连通分量的个数
用C++实现,求有向图中任意两个结点间的所有路径.其中图的存储结构为邻接矩阵.程序要带注释.
在线急求熟悉图的两种常用的存储结构,邻接矩阵和邻接表.
设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有
图改用邻接表表示,重写Dijkstra算法.输入任意带权有向图,输出每一对顶点间的最短路径及其权值.