《数据结构课程设计大纲(学生).doc》由会员分享,可在线阅读,更多相关《数据结构课程设计大纲(学生).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计教学大纲一、课程的基本情况课程中文名称:数据结构课程设计课程英文名称:Course Design of Data Structure课程代码: 课程类别:专业核心课课程性质:必修课总 学 时:16学 分:1授课对象:信息与计算科学本科前导课程:程序设计基础二、课程设计目的与基本要求(一)课程设计的教学目的1通过分析、设计、编码和调试等环节的训练,使学生深刻理解、牢固掌握数据结构的逻辑特性、物理表示、数据结构的选择和应用、算法的设计和实现等方面,加深对数据结构课程的理解;2运用所学知识,上机解决与实际应用结合紧密、有一定规模的问题,提高学生分析和解决应用问题、编写大型程序的能力,
2、培养良好的程序设计技能。 (二)课程设计的基本要求1每位学生在老师指导下选定一个题目,并独立完成。2课程设计要提供源代码和实验报告。实验报告应简练清楚、逐页编号,报告内容包括:问题描述、总体设计、详细设计、运行与测试、实验总结五项内容。三、课程设计内容(一)课程设计选题选题1. 电子通讯簿A. 功能要求1)实现电子通讯簿用于管理所有联系人的信息,包括每位联系人的编号、姓名、电话和邮箱,并使用文件保存已经编辑的联系人的信息。2)打开通讯簿:从文件中读取已经保存的联系人信息;3)增加新联系人:用户输入新联系人的姓名、电话、邮箱,系统保存至通讯簿,其中姓名和电话为必填项,由系统进行非空验证;4)删除
3、指定的联系人:系统先提示用户输入待删除联系人的编号,再执行删除功能;5)显示所有联系信息:以表格形式列出所有联系人的详细信息;6)按姓名的模糊查找:例如输入“财务”,则输出所有姓名中含“财务”的联系人的信息;7)按电话的模糊查找:例如输入“133”,则输出所有电话以“133”开头的联系人的信息;8)排序:按照联系人姓名从小到大进行排序,并显示所有人的联系信息;B. 提示与参考模糊查询可以利用字符串定位操作来实现。选题2. 带优先级的四则运算计算器A. 功能要求1) 实现对带括号的四则运算表达式的求解,并能正确处理各种运算符间的优先关系;2) 表达式以字符串形式输入,程序能够解析出操作数、运算符
4、;3) 表达式中可以包含的运算符有“+、-、*、/、(、)、=”共七种;4) 表达式中包含的操作数可以是“整数”或“小数”,暂不考虑负数。B. 提示与参考1)完成该程序,首先要能解析出表达式中的操作数和运算符,尤其对于带小数点的操作数更需小心处理;2)函数atof()用于将字符串转换为对应的浮点数,例如:atof(“123.45”)的输出结果为123.45;3)实现带有优先级的计算功能,需借助栈后进先出的特点,一个栈用于寄存操作数,另一个栈用于寄存运算符。C. 交互过程示例用户输入: 3.56*(2.1+1.7)/4=程序输出: 3.382选题3. 地铁修建问题某城市要在其各辖区间修建地铁来加
5、快经济发展,但由于建设地铁费用昂贵,因此需要合理安排地铁的建设路线使乘客可以沿地铁到达各辖区,并使总建设费用最小。A. 功能要求1)从包含各辖区的地区文件中读入辖区名称、各辖区间的直接距离;2)计算应建设哪些辖区间的地铁路线;3)输出应该建设的地铁路线及总里程信息。B. 提示与参考解决该问题应使用无向图,可以考虑采用邻接矩阵作为存储结构。图1 北京市各区距离图(二)课程设计学时分配时间分配表序号课程设计内容安排学时1课程设计讲解及方案制定22总体设计及详细设计43编码及调试84撰写实验报告2合计16四、指导方式集体辅导与个别辅导相结合。五、课程设计考核方法及成绩评定 1考核方式:考查。2成绩评
6、定:课程设计成绩按五分制评定,包括优秀、良好、中等、及格和不及格五个评定等级。六、课程设计教材及主要参考资料教 材:严蔚敏,数据结构(C语言版) ,清华大学出版社。参考书:严蔚敏,数据结构题集(C语言版) ,清华大学出版社。大纲制订人:余艳大纲审定人:赵喜林制订日期:2014.6.1附件:课程设计实验报告格式数据结构课程设计(左对齐,宋体,粗三号)设计题目(居中,宋体,粗小一)学生姓名:(宋体,粗三号,居中)学 号:_班 级:_日 期:_成 绩:_1 问题描述(左对齐,宋体粗四号)描述该系统需要解决的问题,注意讲清楚该系统要做什么,而不是怎么做。(小四,宋体)2 总体设计(左对齐,宋体粗四号)
7、2.1 主界面设计截屏给出程序运行的主界面,并辅以必要的文字说明。2.2 功能划分及调用关系划分本系统的功能模块,并图示模块间的调用关系。2.3 模块设计设计各模块包含的操作,并给出各操作运行的初始条件和输出结果。例如:1)ListInsert(&L, i, e)初始条件:i的取值范围为1,n,n为表长输出结果:在L的第i个位置插入一个新的元素e2.4 存储结构设计描述该系统采用的存储结构,例如“为了便于实现循环报数,采用无头结点的循环单链表存储约瑟夫环中所有人的信息;每个结点中存储人的编号和持有的密码。”3 详细设计(左对齐,宋体粗四号)3.1 数据类型定义列出本系统所使用到的所有自定义的数据类型,并合理注释。(五号,Times New Roman)3.2主要函数的实现 列出本系统中主要函数的实现代码,并合理注释。对于采用了复杂算法的关键函数,应给出实现思路或流程图。(五号,Times New Roman)4 运行与测试(左对齐,宋体粗四号)截屏给出程序中主要功能的运行结果,并辅以文字说明。(小四,宋体)5 实验总结(左对齐,宋体粗四号)总结在开发过程中遇到的问题及相应的解决方法。(小四,宋体)参考文献 (列出课程设计中所参考的所有书目,格式如下:)1 严蔚敏编,数据结构(C语言版),清华大学出版社,2006(左对齐,宋体,五号)
限制150内