1 南京工程学院 通信工程学院 实 验 报 告 课程名称 数 据 结 构 实验项目名称 图的建立及遍历算法的实现 实验学生班级 实验学生姓名 实验时间 2 0 1 4
2 9 实验地点 信 息 楼 C207 实验成绩评定 指导教师签字 年 月 日 2 一、实验目的: 1.掌握图的定义及图的存储结构
2.掌握图的遍历算法 二、实验内容: 1.定义图的数据结构
2.编写函数,用邻接表实现图的存储结构,求图的顶点的度数
3.编写函数,输出图的遍历序列
三、实验要求: 1.数据结构定义正确,程序编码规范
2.撰写实验报告,写出程序运行结果
3.分析算法,写出本次实验总结
四、实现提示 1.数据结构定义 #define MAX_VERTEX_NUM 100 /*最大顶点数为 100*/ int visited[MAX_VERTEX_NUM]; typedef int VertexType; /*表结点*/ typedef struct ArcNode { int adjvex; struct ArcNode * nextarc; }ArcNode; /*头结点*/ typedef struct VNode { VertexType data; ArcNode * firstarc; }VNode,AdjList[MAX_VERTEX_NUM]; 3 typedef struct { AdjList vertices; int vexnum,arcnum; }ALGraph; 2.图的存储(邻接表存储) void CreateALGraph(ALGraph &G) { int i,j,k; ArcNode *s; printf("input data:顶点数,边数:\n"); scanf("%d,%d",&G
vexnum,&G
arcnum); printf