目录
题目描述
分别采用基于深度优先遍历和广度优先遍历算法判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i!=j)。注意,算法中涉及的图的基本操作必须在此存储结构上实现。
来源:王道p211.4
解题思路
思想就是从i点出发,只一次遍历,若能遍历到j点,返回1,否则返回0。
宏定义
#define QElemType VNode
#define MaxSize 1000
#define MaxVertexNum 100
图定义
typedef struct ArcNode{ //边结点定义
int adjvex;
struct ArcNode* next;
int info;
}ArcNode;
typedef struct VNode{ //顶点结点定义
int data;
struct ArcNode* first;
}VNode,AdjList[MaxVertexNum];
typedef struct{ //邻接表定义
AdjList vertices;
int vexnum,arcnum;
}ALGraph;