数据结构课设之图Word文件下载.docx

上传人:b****2 文档编号:15119797 上传时间:2022-10-27 格式:DOCX 页数:65 大小:375.86KB
下载 相关 举报
数据结构课设之图Word文件下载.docx_第1页
第1页 / 共65页
数据结构课设之图Word文件下载.docx_第2页
第2页 / 共65页
数据结构课设之图Word文件下载.docx_第3页
第3页 / 共65页
数据结构课设之图Word文件下载.docx_第4页
第4页 / 共65页
数据结构课设之图Word文件下载.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

数据结构课设之图Word文件下载.docx

《数据结构课设之图Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构课设之图Word文件下载.docx(65页珍藏版)》请在冰豆网上搜索。

数据结构课设之图Word文件下载.docx

要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。

一.设计目的

1.能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。

2.提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。

3.初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。

4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

5.培养根据选题需要选择学习书籍,查阅文献资料的自学能力。

二.设计任务

设计一个基于DOS菜单的应用程序。

要利用多级菜单实现各种功能。

内容如下:

1.无向图的基本操作及应用

1创建无向图的邻接矩阵

2创建无向图的邻接表

3无向图的深度优先遍历

4无向图的广度优先遍历

2.无向网的基本操作及应用

1创建无向网的邻接矩阵

2创建无向网的邻接表

3求最小生成树

3.有向图的基本操作及应用

1创建有向图的邻接矩阵

2创建有向图的邻接表

3拓扑排序

4.有向网的基本操作及应用

1创建有向网的邻接矩阵

2创建有向网的邻接表

3关键路径

4单源最短路径

5每对顶点之间的最短路径

三.设计指导

第一步:

根据设计任务,设计DOS菜单。

例如

选择1之后应该类似于

第二步:

设计菜单

voidShowMainMenu()

{

cout<

<

"

\n"

;

***************图的基本操作及应用******************\n"

*1无向图的基本操作及应用*\n"

*2无向网的基本操作及应用*\n"

*3有向图的基本操作及应用*\n"

*4有向网的基本操作及应用*\n"

*5退出*\n"

***************************************************\n"

}

voidUDG()

MGraphMG;

ALGraphALG;

intn;

do

{

cout<

***************无向图的基本操作及应用***************\n"

*1创建无向图的邻接矩阵*\n"

*2创建无向图的邻接表*\n"

*3无向图的深度优先遍历*\n"

*4无向图的广度优先遍历*\n"

****************************************************\n"

cin>

>

n;

switch(n){

case1:

CreatUDG_M(MG);

break;

case2:

CreatUDG_ALG(ALG);

dispgraph(ALG);

case3:

case4:

default:

if(n!

=5)

cout<

错误,重新输入\n"

}

}while(n!

=5);

voidUDN()

MGraphMN;

ALGraphALN;

do{

***************无向网的基本操作及应用***************\n"

*1创建无向网的邻接矩阵*\n"

*2创建无向网的邻接表*\n"

*3prim算法求最小生成树*\n"

*4kraskal算法求最小生成树*\n"

CreatUDN_M(MN);

CreatUDN_ALG(ALN);

dispgraph_N(ALN);

voidDG()

***************有向图的基本操作及应用***************\n"

*1创建有向图的邻接矩阵*\n"

*2创建有向图的邻接表*\n"

*3拓扑排序*\n"

*4退出*\n"

=4)

=4);

voidDN()

***************有向网的基本操作及应用***************\n"

*1创建有向网的邻接矩阵*\n"

*2创建有向网的邻接表*\n"

*3关键路径*\n"

*4单源顶点最短路径问题*\n"

*5每对顶点间最短路径问题*\n"

*6退出*\n"

case5:

=6)

=6);

voidmain()

ShowMainMenu();

UDG();

UDN();

DG();

DN();

无论多少级菜单,都可以用这种模式实现,并且当前菜单不用担心前面的问题,只需编写当前的功能函数。

第三步:

添加功能函数。

四.成绩评定

实习报告(文字不得少于4000字)

1.设计方案;

//每个算法的来历,优点

2.实现过程;

//框架之间是怎样连接的,怎么实现的

3.测试;

//输入什么,得到什么

4.使用说明;

//如何输入输出

5.难点与收获;

6.实现代码;

7.可改进的地方。

程序实现

1.完成基本结构图,程序中有三级菜单,完成基本操作者及格;

2.在第一条的基础上,任务完成的越多,成绩等级越高。

成绩由三部分组成:

平时考核(20%)、程序实现(50%)、实习报告(30%)

实习报告

前言

首先,我要感谢周老师、冯老师和其他帮助我完成这份实习报告的老师们,如果不是你们的帮助,我很难在这六天里完成这份艰巨的任务。

图是一种比线性表和树更为复杂的数据结构。

在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都有可能相关。

因此图的应用极为广泛,特别是近年来的迅速发展,已渗入诸如语言学、逻辑学、物理、化学、电讯工程、计算机科学以及数学的其他分支中。

要学好图这一章并熟练运用对我来说非常的困难,在这之前,必须学好《离散数学》中的图的理论,熟练掌握线性表的基本操作和应用,以及栈和队列还有树的相关知识。

限于这几章学得并不好,理解的也不透彻,所以在做课程设计时困难重重。

尽管遇到很多问题,但在这六天的不懈努力下,终于完成了。

为此,我简要介绍一下我所使用的工具和资料。

编译器:

vc6.0和vs8.0(vc2008);

电脑:

学校机房和自己的;

资料:

《数据结构(C语言版)》(严蔚敏吴伟民编著)和《数据结构》算法实现及解析(高一凡编著),互联网。

再次衷心的感谢帮助我老师们和同学们!

一:

实现方案

按照要求,需要设计四种图,两种数据存储结构,十六中基本操作及应用,三层以上的显示菜单。

图的操作中又包含有有关线性表、栈和队列的基本操作。

由于显示菜单已给出,剩下的只是把函数写入其中,而线性表、栈和队列的基本操作并不复杂,很容易实现,我们只有完成图的相关操作即可。

图的操作都是以两种存储结构为基础的,邻接矩阵存储结构和邻接表存储结构,如四种图(有向图,有向网,无向图,无向网)的创建,其他的操作都是在四种图创建后才开始进行的。

所以,首先必须理解两种存储结构的定义。

图的邻接矩阵存储结构即图的数组表示法。

用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。

用邻接矩阵存储结构的图具有以下几点特征:

(一):

顶点数:

vexnum,边(弧)数:

arcnum,图的种类:

kind;

(二):

邻接矩阵:

arcs(1顶点关系类型:

adj2相关信息:

*info);

(三):

顶点向量(顶点名):

vexs[];

其优点是以二维数组表示有n个顶点的图时,需存放n顶

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1