- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告模 张苗
内蒙古科技大学
本科生课程设计说明书
题 目:C语言课程设计
—— 图的遍历
学生姓名:张苗
学 号:1376807337
专 业:计算机科学与技术
班 级:3班
指导教师:周李涌
内蒙古科技大学课程设计任务书
课程名称 数据结构课程设计 设计题目 图的遍历 指导教师 周李涌 时间 2013年秋学期第15周至第19周 一、教学要求
1. 掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用. 设计完成后提交课程设计报告资料查阅与讨论1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。数据结构:用面向对象方法与C++语言描述?清华大学出版社 2007.6 目 录
内蒙古科技大学课程设计任务书 I
第一章 需求分析 3
1.1 引言 3
1.2 任务概述 3
1.3 数据描述 3
1.4 功能需求 3
1.5 性能需求 3
1.6 运行需求 4
1.7 任务计划 4
第二章 概要设计 5
2.1 总体设计 5
2.2 数据类型设计(或数据结构设计) 5
2.3 接口设计 //函数声明 5
2.4 运行界面设计 5
第三章 详细设计 7
3.1 输入模块设计 7
3.2 输出模块设计 7
3.3 查找模块设计 7
3.4 排序模块设计 7
3.5 保存及读取模块设计 7
第四章 测试分析 8
4.1 测试程序执行情况 8
4.2 出现的问题和解决的方法 8
第五章 用户手册(可选) 9
5.1 使用说明 9
5.2 运行说明 9
第六章 课程设计总结 10
附录:程序代码 11
参考文献 12
致谢 13
第一章 需求分析
引言
本学期我们对《数据结构》这门课程进行了学习。这门课程是一门实践性非常强的课程,为了让大家更好地理解与运用所学知识,提高动手能力,我们进行了此次课程设计实习。这次课程设计不但要求实习者掌握《数据结构》中的各方面知识,还要求实习者具备一定的C语言基础和编程能力。具体说来,这次课程设计主要有两大方面目的。一是让实习者通过实习掌握《数据结构》中的知识。对于《图的存储与遍历》这一课题来说,所要求掌握的数据结构知识主要有:图的邻接表存贮结构、队列的基本运算实现、邻接表的算法实现、图的广度优先搜索周游算法实现、图的深度优先搜索周游算法实现。二是通过实习巩固并提高实习者的C语言知识,并初步了解Visual C++的知识,提高其编程能力与专业水平。
任务概述
(1) 输入的形式和输入值的范围;
(2) 输出的形式;
(3) 程序所能达到的功能;
(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
数据描述
例子:输入顶点数和边数:4 5
接着输入顶点字符串:1 2 3 4
功能需求
以数组表示法或邻接表表示图,在此基础上实现对图的遍历。
要求设计类(或类模板)来描述图,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:
输入图、输出图
求图中顶点V的第一个邻接点
求图中顶点V的下一个邻接点
深度优先遍历图
广度优先遍历图
并设计主函数测试该类(或类模板)。
运行需求
在codeblock上运行,c语言程序
任务计划
我们需要先进行总体设计,有一个大致的方向,然后我们需要把数据的结构类型确定下来,第三步要把函数接口设计出来,第四步把运行界面设计,我就把大致程序框架做了出来。
我们接下来就应该进行详细的设计来完成所需要的功能了
概要设计
总体设计
数据类型设计(或数据结构设计)
1.定义结点结构类型
typedef struct node{
int adjvex;
struct node *next;
}EdgeNode;
2.定义虚拟结点结构类型
typedef struct vnode{
char vertex;
EdgeNode *firstedge;
}VertexNode;
3.邻接表类
文档评论(0)