算法与数据结构课程设计报告--图的遍历演示.doc
文本预览下载声明
广东技术师范学院天河学院
算法与数据结构
课程设计报告
题 目: 图的遍历演示
设 计 者:
专业班级:
学 号:
指导教师:
所属系部:计算机科学与技术系
2011年 6月 2 日
目录 摘要------------------------------------------------------------------------------------ 第一章 1.1 课程设计目的----------------------------------------------------------------2 1.2 的--------------------------------------------------2
1.3 设计要求-----------------------------------------------------------------------3
第二章:算法思想描述2.结构设计----------------------------------------------------3 2.的建立-----------------------------------------------------------4 2.-----------------------------------------------------------------------52.-----------------------------------------------7 2.? 广度优先搜索遍历图的创建----------------------------------------------82.----------------------------------------------------11
第四章:测试结果-----------------------------------------------------------------13
第五章:收获与体会参考文献------------------------------------------------------------------------------4
摘要:
第一章
1. 理解图的基本概念,熟悉图的各种存储结构及其构造算法。
2. 掌握图的遍历方法。
1.2 的
(2)
1.3 设计要求
设计要求:
1. 两种遍历方法必须都要实现,写出画图的思路。
2. 界面友好,函数功能要划分合理。
3. 总体设计应画一流程图。
4. 程序要加必要的注释。
5. 提供程序测试方案。
第二章:算法思想描述2.1?结构设计
(3)
2.1.1?的建立typedef struct arcnode
{
int adjvex;
struct arcnode *nextarc;
}*node;
typedef struct vnode
{
char data;
node firstarc;
}vnode,adjlist[max_vertex_num];
typedef struct
{
adjlist vertices;
int vexnum;//接点个数
int arcnum;//边数
int kind;//0为有向,1为无向
}algraph;
//PUBLIC变量
int visited[max_vertex_num];
algraph graph;
int degree[max_vertex_num];
(4)
2.1.3图的建立
//---------------创建图-------------------
void creat()
{
cout请选择你要创建的图:输0表示有向图,输1表示无向图.endl;
cingraph.kind;
node p;
int i,v1,v2;
cout请输入接点的数目:endl;
cingraph.vexnum;
cout请输入边的数目:endl;
cingraph.arcnum;
cout请您输入graph.vexnum个接点endl;
for(i=1;i=graph.vexnum;i++)
{
cingraph.vertices[i].data;
graph.vertices[i].firstarc=NULL;
}
if(graph.kind==0)
{
cout请输入graph.arcnum条边endl;
coutendl;
for(i=1;i=graph.arcnum;i++)
{
显示全部