ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:20.06KB ,
资源ID:6473662      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6473662.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计指导书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计指导书.docx

1、数据结构课程设计指导书数据结构课程设计指导书目 录一、 课程设计的基本任务 3二、 课程设计的基本要求 3三、 课程设计的基本步骤和方法 4四、 课程设计说明书(含报告的书写规范) 5五、 附录(课程设计大纲等内容) 13一、 课程设计的基本任务数据结构是一门涉及多门课程的课程,难度较大,需要较好的C语言的程序设计和调试能力,如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。数据结构课程设计是计算机科学与技术专业的主要实践性教学环节。在进行了专业基础

2、课和数据结构课程的基础上,设计一个实际的应用软件,初步软件设计的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为毕业设计和以后的工程实践打下良好的基础。二、 课程设计的基本要求课程设计按照教学要求需要一周时间完成,总共至少要上机调试程序10小时。对每个题目要有需求分析,在需求分析中,将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。对有些

3、题目提出算法改进方案,比较不同算法的优缺点。如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;2 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分): 源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环;3 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。1、能力培养要求巩固和加深对数据结构的理解,提高综合运用本课程所学知识的能力。培养学生选

4、用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。通过课程设计,培养学生严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。2、学生提交课程设计报告要求1)设计题目2)设计目的3)设计内容4)程序流程图5)源程序6)软件测试报告(包括所用到的数据及结果)三、 课程设计的基本步骤和方法1、学生以自学为主,独立完成设计任务,注重学生能力的培养。2、教师要注意按学生基础和能力提出要求,辅导时要有侧重,做

5、到因材施教。对基础差的学生要勤检查多指导,对能力强的学生应提出更高的要求,增加些选作内容,充分发挥其潜力。3、教师要教书育人。要求学生从点滴开始,每步操作都要按规定去做,以培养严肃认真的科学态度。选定方案要考虑经济效益,坚持勤俭节约的原则。要教育学生团结协作,遵守纪律,爱护公物。通过设计提高业务能力,提高思想觉悟。4、课程设计安排教师下达设计任务书任务书内容包括题目、主要技术指标和要求、给定条件及原始数据、所用仪器设备和参考资料及文献等。教师讲授必要的设计思路和设计方法。学生完成预设计本阶段学生应明确任务,查阅资料及文献(主要自学),掌握工程设计基本方法,确定设计方案,进行设计分析,完成预设计

6、。实验阶段经教师审查通过预设计方案后,即可进行编程调试。实验由学生独立完成,教师定时指导。设计总结阶段本阶段学生要认真完成课程设计报告书,整理技术资料,如有需要还应写出课程设计的心得体会和改进意见。课程设计报告书包括:设计任务及主要技术指标、设计方案及论证结果、系统的原理框图、设计程序、实验结果、实验中主要问题及故障现象的分析及设计结论等。报告书中还应附实验数据、系统软硬件环境、使用说明及参考资料等。四、 课程设计说明书(含报告的书写规范)课程设计要求学生在以下模块中选作一个1、建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以)*任务:要求能够输入树的各个结点,并能够输出用不同方法遍历

7、的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数并能统计各种结点的个数及树的深度等; 数据结构描述:#include #define NUM 10struct nodeint data;struct node *lchild;struct node *rchild;void make(struct node *boot,int a);void middle(struct node *boot);void left(struct node *boot);2、 赫夫曼树的建立 任务 :建立建立最优二叉树函数要求:可以建立函数输入二叉树,并输出其赫夫

8、曼树(编码)在上交资料中请写明:存储结构、 基本算法(可以使用程序流程图) 、输入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;数据结构描述:typedef struct int weight; int parent; int lchild; int rchild;HTNode;typedef struct char edM; int start;HTcode;操作步骤:定义赫夫曼树和编码的存储结构输入赫夫曼编码的个数和权值生成赫夫曼树编码输出编码。3、图的建立及输出任务:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选一种类型),能够

9、输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。 要求:按某种遍历输出所有顶点。数据结构描述:typedef struct ArcNode int adjvex; int weight; struct ArcNode *nextarc;ArcNode,*AdjList;typedef struct GraphAdjList elemMAX+1; int vexnum; int arcnum; int GraphKind;Graph;4、拓扑排序任务:编写函数实现图的拓扑排序。算法思想:首先选择一个无前驱的顶点(即入度为0的顶点,图中至少应有一个这样的顶点,否则肯定存在回路

10、),然后从图中移去该顶点以及由他发出的所有有向边,如果图中还存在无前驱的顶点,则重复上述操作,直到操作无法进行。如果图不为空,说明图中存在回路,无法进行拓扑排序;否则移出的顶点的顺序就是对该图的一个拓扑排序。其抽象算法可描述为: NonPreFirstTopSort(G)/优先输出无前趋的顶点 while(G中有人度为0的顶点)do 从G中选择一个人度为0的顶点v且输出之; 从G中删去v及其所有出边; if(输出的顶点数目|V(G)|) /若此条件不成立,则表示所有顶点均已输出,排序成功。 Error(G中存在有向环,排序失败!); 5、 各种排序任务:实现各种排序并分别时行分析要求:用随机数

11、生成100个整数存入文本文件中,并对这些数进行多种方法进行排序。至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)并将结果存入另外的文本文件中。6、文章编辑任务:输入一页文字,程序可以统计出文字、数字、空格的个数。要求:静态存储一页文章,每行最多不超过80个字符,共N行;1) 分别统计出其中英文字母数和空格数及整篇文章总字数;2) 统计某一字符串在文章中出现的次数,并输出该次数;3) 删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任

12、何数字及标点符号。输出形式:1) 分行输出用户输入的各行字符;2) 分4行输出全部字母数、数字个数、空格个数、文章总字数3) 输出删除某一字符串后的文章;文章编辑系统功能模块:typedef struct _DOC_CONTEXT unsigned char ContextMAX_COL+1MAX_LINES; int TotalLines; /*当前文档行数*/DOC_CONTEXT,*PDOC_CONTEXT;int PrintfContext(PDOC_CONTEXT pContext);int AddLine(PDOC_CONTEXT pContext,char *szNewStr);

13、int InsertLine(PDOC_CONTEXT pContext,char *szNewStr,int Pos);int ModifyLine(PDOC_CONTEXT pContext,char *szNewStr,int Pos);int DeleteLine(PDOC_CONTEXT pContext,int Pos);int GetStringCount(PDOC_CONTEXT pContext,char *szDemo);int GetLetterCount(PDOC_CONTEXT pContext);int GetDigCount(PDOC_CONTEXT pConte

14、xt);int GetSpaceCount(PDOC_CONTEXT pContext);int GetCharCount(PDOC_CONTEXT pContext);int SaveDocToFile(PDOC_CONTEXT pContext,char *szFileName);int LoadDocFromFile(PDOC_CONTEXT pContext,char *szFileName);要求完成:输出整篇文章内容;在文章尾部追加一行;在文章指定行插入新行;修改文章指定行;删除文章指定行;统计某一字符串在文章中出现的次数;统计文章的全部字母数;统计文章的数字个数;保存文章到磁盘指

15、定文件;加载磁盘文章文件。7、作双链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。链表节点的数据结构定义:struct node int num; struct node *pre; Struct node *next; ;要求:单链表的创建过程有以下几步1) 定义链表的数据结构。2) 创建一个空表。3) 利用m a l l o c ( )函数向系统申请分配一个节点。4) 将新节点的指针成员赋值为空。若是空表,将新节点连接到表头;若是非空表,将新节点接到表尾。5) 判

16、断一下是否有后续节点要接入链表,若有转到3 ),否则结束。8. 一元稀疏多项式相加要求:设计一个一元多项式加法器。数据结构自行设定,实现如下操作:1) 输入并建立多项式;2) 两个多项式相加; 3) 输出多项式:n, c1, e1, c2, e2, cn , en, 其中,n是多项式项数,ci和ei分别是第 i 项的系数和指数,序列按指数降序排列。9.简易学生管理系统设计要求:选择一种数据结构实现对每个学生信息的存储,并实现如下功能1) 插入一个学生信息2) 删除一个学生信息3) 修改学生信息4) 查找学生信息实现时要求做一个简单的界面,能让程序反复的执行不同功能。10.哈希表设计为班级的52

17、个人的姓名设计一个哈希表,假设姓名用汉语拼音表示。要求用除留余数法构造哈希函数,用平线性探测再散列法处理冲突,平均查找长度上限定为2(即小于等于2)。附录1 课程设计任务书模板三峡大学信息与计算机学院课 程 设 计 任 务 书题目 专业、班级 学号 姓名 主要内容、基本要求、主要参考资料等:完 成 期 限: 指导教师签名: 课程负责人签名: 年 月 日附录2 课程设计总结报告模板三峡大学信息与计算机学院数据结构课程设计总结报告设计题目:学生姓名:系 别:计算机软件工程专 业:计算机软件工程班 级:学 号:指导教师: 年 月 日一、 设计题目(任选其一)二、 运行环境(软、硬件环境)三、 算法设计的思想四、 算法的流程图五、 算法设计分析六、 源代码七、 运行结果分析八、 收获及体会

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

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