数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?不是很看的懂~给点注释可以不?,不过给我感觉
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 13:26:31
![数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?不是很看的懂~给点注释可以不?,不过给我感觉](/uploads/image/z/2478853-37-3.jpg?t=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%88%A9%E7%94%A8%E9%82%BB%E6%8E%A5%E7%9F%A9%E9%98%B5%E5%AD%98%E5%82%A8%E7%BB%93%E6%9E%84%E6%80%8E%E6%A0%B7%E6%B1%82%E5%9B%BE%E4%B8%AD%E4%B8%A4%E4%B8%AA%E9%A1%B6%E7%82%B9%E4%B9%8B%E9%97%B4%E7%9A%84%E6%89%80%E6%9C%89%E8%B7%AF%E5%BE%84%3F%E5%A6%82%E9%A2%98%2C%E7%9F%A5%E9%81%93%E7%9A%84%E8%AF%B7%E5%91%8A%E8%AF%89%E4%B8%8B%2C%E6%9C%AC%E4%BA%BA%E6%83%B3%E4%BA%86%E5%BE%88%E4%B9%85%E9%83%BD%E6%83%B3%E4%B8%8D%E5%87%BA%7E%E6%9C%89%E5%93%AA%E4%BD%8D%E9%AB%98%E6%89%8B%E8%83%BD%E7%BB%99%E5%87%BA%E5%9F%BA%E6%9C%AC%E6%80%9D%E6%83%B3%3F%E4%B8%8D%E6%98%AF%E5%BE%88%E7%9C%8B%E7%9A%84%E6%87%82%7E%E7%BB%99%E7%82%B9%E6%B3%A8%E9%87%8A%E5%8F%AF%E4%BB%A5%E4%B8%8D%3F%2C%E4%B8%8D%E8%BF%87%E7%BB%99%E6%88%91%E6%84%9F%E8%A7%89)
数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?不是很看的懂~给点注释可以不?,不过给我感觉
数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?
如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?
不是很看的懂~给点注释可以不?,不过给我感觉上你这个程序输出的并不是说有的路径,你这个程序可以输出的是所有不含重复边的路径,如果有部分路径它们存在部分一样的边,存在部分不一样的边,感觉你这个程序就不能输出来了,
数据结构利用邻接矩阵存储结构怎样求图中两个顶点之间的所有路径?如题,知道的请告诉下,本人想了很久都想不出~有哪位高手能给出基本思想?不是很看的懂~给点注释可以不?,不过给我感觉
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;
}