关于广度和深度搜索的思路 在上一篇文章已经说过了
如果大家对我的代码有提议以及不正确的地方 还请在文章下方评论出来~轻喷
#include <stdio.h>
#include <stdlib.h>
#define MAX_VALUE 10
typedef struct EdgeNode{//边顶点
int index;//该顶点下标
struct EdgeNode *next;//存储下一个边顶点
}EdgeNode;
typedef struct HeadNode{//表顶点
char data;
EdgeNode *edgeNode;
}HeadNode,AdjacencyList[MAX_VALUE];
typedef struct Graph{//图
AdjacencyList list;
int vexNum;//当前顶点数
int edgeNum;//当前边数
}Graph;
//找到该元素所在的下标
int locate(Graph *graph,char ch){
int i ;
for(i = 0;i<graph->vexNum;i++){
if(graph->list[i].data==ch)
return i;
}
return -1;
}
//构造邻接表图
Graph *createGraph(){
Graph *graph;
char ch;
graph = (Graph*)malloc(sizeof(Graph));
graph->edgeNum = 0;
graph->vexNum = 0;
printf("输入顶点回车退出输入\n");
while((ch=getchar())!='\n'){
//构造顶点表
graph->list[graph->vexNum].data = c

本文探讨如何使用C语言以邻接表为存储结构构造图,并详细讲解了广度优先搜索(BFS)和深度优先搜索(DFS)的实现思路。作者鼓励读者对代码提出建议和指正。
最低0.47元/天 解锁文章
5543

被折叠的 条评论
为什么被折叠?



