实验目的
1. 深入了解图的逻辑结构特性及其基本操作
2. 了解图的各种存储结构的特点与适用范围,熟练掌握在邻接矩阵和邻接表存储结构上深度优先和广度优先搜索算法的实现
3. 掌握图的应用,如求解图的连通性问题,最小生成树,拓扑排序,关键路径和最短路径算法及其灵活应用
实验预习
1. 深入了解图的邻接矩阵表示法与图的邻接矩阵表示法
2. 在实验预习报告上设计,编写实验内容的源程序,给程序加上适当的注释,设计运行程序所需的测试数据
实验内容
1. 设计并验证如下算法:图采用邻接矩阵表示,实现无向图的深度优先搜索与有向图的广度优先搜索。
实验代码:
#include <stdio.h>
#include <malloc.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define INT_MAX
#define MAX_VERTEX_NUM 20
typedef int ElemType;
typedef int AdjMatrix;
typedef int Status;
int book[MAX_VERTEX_NUM]={0};
typedef struct{
ElemType vexs[MAX_VERTEX_NUM];
AdjMatrix arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
int vexnum,arcnum;
}Gragh;
typedef ElemType QElemType;
typedef struct queue{
QElemType *