数据结构:无向图邻接表、邻接矩阵创建及其BFS、DFS遍历(C语言)

实验目的:

1.掌握图的定义和构造方法;

2.掌握图的存储及遍历方法及应用。

实验内容:

编程实现:

1、建立一个以邻接表形式存储的图;

2、建立一个以邻接矩阵形式存储的图;

3、邻接表形式存储的图的深度优先遍历

4、邻接表形式存储的图的广度优先遍历

5、邻接矩阵形式存储的图的深度优先遍历

6、邻接矩阵形式存储的图的广度优先遍历


学习邻接表时候画的图,如果没有动态视频教程的话,个人觉得看着代码一层一层画图很容易理解


个人比较懒,下面是代码:(注释应该能看懂吧哈哈哈 )

#include
#include
#define MAX 5
#define oo 999

int v1;
int AL_visited[MAX];//标记邻接表 DFS
int AM_visited[MAX];//标记邻接矩阵 DFS 
int AL_BFS_visited[MAX];//标记邻接表 BFS 
int AM_BFS_visited[MAX];//标记邻接矩阵 BFS
int matrix[MAX][MAX];//邻接矩阵
//图形数据 3x3
//A B 5
//A C 3
//B C 6
//====================================================邻接表结构体========================================================
//无向图-邻接表-头-边结点
typedef struct ArcNode {//边结点
	int adjvex;
	int info;
	struct ArcNode* nextarc;
}ArcNode;

typedef struct VNode {//头结点
	int data;
	ArcNode* firstarc;
}VN

你可能感兴趣的:(数据结构,C语言,深度优先,数据结构,宽度优先,c语言)