欢迎来到天天文库
浏览记录
ID:20546210
大小:88.50 KB
页数:9页
时间:2018-10-13
《2011年数据结构课程设计任务书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数据结构》课程设计任务书班级:网11101班课程设计周数:1周指导老师:徐晓蓉一、课程设计的目的《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中所涉及的对象在计算机中
2、表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:n了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;n初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;n提高综合运用所学的理论知识和方法独立分析和解决问题的能力;n训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。二、课程设计的基本要求1.问题分析和任务定义:根据设计题目的要求,充分地
3、分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;3.详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基
4、本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;5.程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;三、课程设计内容(说明:可以选择教材上的题
5、目,也可针对教学内容自拟题目,但自拟题目必须经老师认可)题目1:小型图书馆管理系统(链表的插入,排序,查询,删除)对C语言软件开发有一定的认识,了解并掌握开发的各个流程,以及各功能代码的实现。创建一个图书馆管理系统,可进行还书(插入),排序,查找,借书(删除)操作。设计原理:1.所有信息存储在一个带头结点的单向链表中,每个结点存储一条图书记录,即结构体(book),其中各域为:书号(number)、书名(title)、作者(writer)、定价(pricing)、出版社(publishinghouse)
6、,指针域(next)。2.系统初始时图书记录为空,由用户录入信息,进行插入(包括创建),排序,查找,删除操作。3.有两种排序算法可选:选择排序和直接插入排序,均由链表实现。4.如输入有错,给出出错提示。题目2:哈夫曼树应用功能:1.从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;2.利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入
7、文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrint中。3.利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中,并输出结果。分步实施:1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2)完成最低要求:完成功能1;3)进一步要求:完成功能2和3。有兴趣的同学可以自己扩充系统功能。要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必
8、要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。题目3:图的遍历和生成树求解实现要求:1)先任意创建一个图;2)图的DFS,BFS的递归和非递归算法的实现3)最小生成树(两个算法)的实现,求连通分量的实现4)要求用邻接矩阵、邻接表、十字链表多种结构存储实现题目4:猴子吃桃子问题任务:有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子
此文档下载收益归作者所有