数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/19 17:16:50
数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?
如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?
不是很看的懂~给点注释可以不?,不过给我感觉上你这个程序输出的并不是说有的路径,你这个程序可以输出的是所有不含重复边的路径,如果有部分路径它们存在部分一样的边,存在部分不一样的边,感觉你这个程序就不能输出来了,
如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?
不是很看的懂~给点注释可以不?,不过给我感觉上你这个程序输出的并不是说有的路径,你这个程序可以输出的是所有不含重复边的路径,如果有部分路径它们存在部分一样的边,存在部分不一样的边,感觉你这个程序就不能输出来了,
typedef struct {
ElemType vexs[MVN]; //顶点向量
AdjMatrix arcs; //邻接矩阵
int vexnum,arcnum; //图的当前顶点数和弧数
}MGraph;
int visited[100]; //指示顶点是否在当前路径上
bool exist(MGraph &G,int i,int j)
{
int k;
if(i == j)
{
return false;
}
else
{
if(G.arcs[i][j] == 1)
{
return true;
}
visited[i] = 1;
for(k = 0;k < G.vexnum;k++)
{
if(!visited[k] && exist(G,k,j))
{
return true;
}
}
}
}
int main()
{
system("pause");
return 0;
}
ElemType vexs[MVN]; //顶点向量
AdjMatrix arcs; //邻接矩阵
int vexnum,arcnum; //图的当前顶点数和弧数
}MGraph;
int visited[100]; //指示顶点是否在当前路径上
bool exist(MGraph &G,int i,int j)
{
int k;
if(i == j)
{
return false;
}
else
{
if(G.arcs[i][j] == 1)
{
return true;
}
visited[i] = 1;
for(k = 0;k < G.vexnum;k++)
{
if(!visited[k] && exist(G,k,j))
{
return true;
}
}
}
}
int main()
{
system("pause");
return 0;
}
数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?
用C++实现,求有向图中任意两个结点间的所有路径.其中图的存储结构为邻接矩阵.程序要带注释.
设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有
求数据结构算法,已知有m个顶点的无向图,采用邻接矩阵结构储存,写出下列算法
判断题:在顺序存储结构中,有时也存储数据结构中元素之间的关系.是错的为什么?
数据结构作业 求最短路径 试设计一个算法求图中一个源点到其他个顶点的最短路径.
在线急求熟悉图的两种常用的存储结构,邻接矩阵和邻接表.
已知带权有向图如图所示,画出该图的邻接矩阵存储结构.
《数据结构》 常见的图的存储结构包括了哪些
链式存储结构的特点是利用什么来表示数据元素之间的逻辑关系
数据在计算机内存中的表示是指 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
以邻接表作存储结构实现求从源点到其余各顶点的最短路径的Dijkstra算法