实验目的:
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