m0_63999697 2022-05-17 16:54 采纳率: 93.5%
浏览 69
已结题

判断一个无向图中两个顶点连通 为什么错了

给定无向图的数据类型如下
#define MAXVEX 100
typedef char VertexType;
typedef int EdgeType;
typedef struct {
VertexType vexs[MAXVEX]; //顶点表
EdgeType edge[MAXVEX][MAXVEX]; //邻接矩阵,即边表
int visited[MAXVEX];//遍历标记. 1:已遍历 0:未遍历
int vertexNum,edgeNum;
}MGraph,*Graph;

请设计int connect(Graph g, VertexType v, VertexType u)函数。
该函数判断图中两个顶点v和w是否连通,连通返回1,不连通返回0。
请注意,本题有预置代码,只需提交所要求的函数定义代码即可。

int connect(Graph g, VertexType v, VertexType u)
{
    int i,j;
    i=locateVertex(g,v);
    j=locateVertex(g,u);
    if(i!=-1&&j!=-1&&g->edge[i][j]!=0&&g->edge[j][i]!=0) return 1;
    return 0;
}

  • 写回答

2条回答 默认 最新

  • q779 2022-05-17 22:01
    关注

    从u节点跑一遍dfs,如果可以访问到v,则u,v连通。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 偶耶XJX 2022-05-17 20:07
    关注

    连通,指直接或间接相连。你这里只判断了直接相连。

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月26日
  • 已采纳回答 5月18日
  • 创建了问题 5月17日

悬赏问题

  • ¥15 Qt 不小心删除了自带的类,该怎么办
  • ¥15 我需要在PC端 开两个抖店工作台客户端.(语言-java)
  • ¥15 有没有哪位厉害的人可以用C#可视化呀
  • ¥15 可以帮我看看代码哪里错了吗
  • ¥15 设计一个成绩管理系统
  • ¥15 PCL注册的选点等函数如何取消注册
  • ¥15 问一下各位,为什么我用蓝牙直接发送模拟输入的数据,接收端显示乱码呢,米思齐软件上usb串口显示正常的字符串呢?
  • ¥15 Python爬虫程序
  • ¥15 crypto 这种的应该怎么找flag?
  • ¥15 代码已写好,求帮我指出错误,有偿!