2010级数据结构课程设计任务书
数据结构课程设计任务书
《数据结构》课程设计任务书一、设计题目1、约瑟夫环2、集合的并、交和差运算3、一元稀疏多项式计算器4、停车场管理5、车厢调度6、文学研究助手7、哈夫曼编/译码器8、图遍历的演示9、最小生成树问题10、哈希表设计二、设计目的数据结构课程设计是计算机专业的集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。
其目的在于加深对数据结构的理解和掌握,使学生更好地掌握数据结构的特点、存储表示、运算方法及其应用,训练学生选用合适的数据结构编写质量高、风格好的应用程序的能力。
三、设计任务每班每人按照学号的顺序依次选择1-10号设计题目,独立完成课题。
(即1、11、21号学生完成1号课题,2、12、22号学生完成2号题,以此类推)四、时间安排五、设计内容1. 约瑟夫环【问题描述】约瑟夫(Joseph) 问题的一种描述是:编号为1,2,… ,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
试设计一个程序求出出列顺序。
【基本要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。
【测试数据】m的初值为20;n=7,7 个人的密码依次为:3,1,7,2,4,8,4,首先m值为6( 正确的出列顺序应为6,1,4,7,2,3,5) 。
【实现提示】程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。
可设n≤30。
此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。
【选作内容】向上述程序中添加在顺序结构上实现的部分。
2. 集合的并、交和差运算【问题描述】编制一个能演示执行集合的并、交和差运算的程序。
【基本要求】(1) 集合的元素限定为小写字母字符[‘a’..’z’] 。
数据结构-课程设计任务书for2010
voidsearch_no(airplane ap[]) {//按航班号查询
charno1[20];
intflag = 1;//判断是否查询到航班,1为未查询到,0为查询到
printf("请输入要进行查询的航班号: ");
scanf("%s",&no1);
for(inti=0; i<size; i++) {
scanf("%d:%d",&ap[i].start_time.hour,&ap[i].start_time.min);
printf("请输入到达时间(例:08:08): ");
scanf("%d:%d",&ap[i].fianl_time.hour,&ap[i].fianl_time.min);
printf("请输入飞机机型: ");
printf("请输入航班号: ");
scanf("%s",&ap[i].no);
printf("请输入起点站: ");
scanf("%s",&ap[i].start);
printf("请输入终点站: ");
scanf("%s",&ap[i].final);
printf("请输入起飞时间(例:08:08): ");
intflag = 1;
printf("请输入要进行查询的起点站: ");
scanf("%s",&start1);
数据结构课程设计
“数据结构”课程设计报告二叉排序树的查找与性能分析学生姓名:段晓宣,张静指导教师:陈少军所在系:电子信息系所学专业:计算机科学与技术年级: 2010级计算机(1)班目录第一章需求分析1.1选题要求 (3)1.2选题的背景与意义 (3)1.3本组课程设计的目标 (3)1.4人员组成和分工 (3)第2章概要分析 (4)2.1系统数据流图 (4)2.2原始数据 (4)2.3输出数据 (4)2.4对数据的处理 (5)2.5数据结构 (5)2.6模块划分 (5)第3章详细设计 (6)3.1二叉排序树的创建 (6)3.2二叉排序树的插入 (7)3.3二叉排序树的查找 (7)3.4计算多数据的平均查找长度 (9)3.5主函数 (9)第4章用户手册 (10)4.1 用户须知 (10)第5章系统测试 (11)项目总结 (12)参考文献 (13)二叉树排序树的查找与性能分析摘要:21世纪是信息化的时代,计算机深入到生活的各个领域。
随着计算机的发展,许多高科技产品如雨后春笋应运而生。
但究其本质而言,无非是以前的理论加以包装。
对于数据控制、管理及处理等方面也可见一斑。
在如今应用的计算机的数据存储方式仍然主要以线性,树型,图型等为主要的及结构。
因此了解并掌握数据结构的知识是很有必要的。
在此次实训期间,本组人员通过运用所学数据结构的知识,进行以二叉排序树的查找与性能分析为题的课程设计,在同组人员的共同努力下,基本实现了:1.创建二叉排序树2.利用文件存储二叉排序树3.二叉排序树的插入4.二叉排序树的查找5.二叉排序树平均查找长度的算法第1章需求分析1.1选题要求(1)根据输入的先序及递归建立二叉排序树;(2)通过文件,向二叉排序树插入结点,并生成二叉树;(3)设置报名号为关键字,可以根据关键字进行查找;(5)查找的同时可以判断比较的次数;(6)根据查找的算法计算出10000个数据平均查找长度;1.2选题的背景与意义(1)树型存储结构数据存储结构中重要的组成部分,二叉树由是树的重点。
数据结构课程设计之奇数魔方阵
长沙理工大学《数据结构》课程设计报告田晓辉学院计算机与通信工程专业计算机科学与技术班级计08-01 学号************学生姓名田晓辉指导教师陈倩诒课程成绩完成日期2010年7月10日课程设计成绩评定学院计算机与通信工程专业计算机科学与技术班级计08-01学号200850080110 学生姓名田晓辉指导教师陈倩诒完成日期2010年7月10日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见课程设计任务书计算机与通信工程学院计算机科学技术专业用C语言解决魔方阵的问题学生姓名:田晓辉指导老师:陈倩诒摘要本课程设计主要解决设计一个n×n的矩阵中填入1到n2的数字(n为奇数),使得每一行、每一列、每条对角线的累加和都相等的问题。
在课程设计中,系统开发平台为Windows 7,程序设计语言采用Visual C++6.0,程序运行平台为Windows 98/2000/XP/7。
在程序设计中,采用了C 语言结构化程序设计思想和过程设计方法,以功能函数为基本结构,对问题中的要求做出了准确的实现。
程序通过调试运行,初步实现了设计目标。
关键词程序设计;C++6.0;结构化;过程设计;功能函数目录1.引言 (1)1.1课程设计目的 (1)1.2课程设计内容 (1)2.设计思路与方案 (2)3.详细实现 (3)3.1数据结构与数据存储表示 (3)3.2功能函数 (3)3.3函数逻辑功能调用图 (5)3.4本程序执行流程图 (6)4.运行环境与结果 (7)4.1程序运行环境 (7)4.2程序运行结果 (7)5.结束语 (9)参考文献 (10)附录源程序代码 (11)1 引言本课程设计主要解决设计一个n×n的方阵中填入1到n2(n为奇数)的数字,使得每一行、每一列、每条对角线上各个数字累加的和都相等的问题。
1.1 课程设计目的通过这次课程设计进一步了解了二维数组的使用方法和一些基本的设计思路。
数据结构课程设计任务书
《数据结构》课程设计任务书课程设计时间:2009-2010学年第一学期指导老师:刘惠临班级: 计算机08-5 一、课程设计的目的数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。
数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。
通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。
通过此次课程设计主要达到以下目的:⏹了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;⏹初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;⏹提高综合运用所学的理论知识和方法独立分析和解决问题的能力;⏹训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计的基本要求1、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:a)需求分析:在该部分中叙述,每个模块的功能要求b)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。
c)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
《数据结构》课程设计任务书
《数据结构》课程设计任务书《数据结构》课程设计任务说明一、题目及选题规定1、课程设计题目1)航空客运订票系统2)用二叉树实现家谱的相关运算3)电话客户服务模拟2、选题规定数据结构课程设计需独立完成1个选题内容。
1)~3)选题中任选一个。
二、课程设计进度安排1.问题分析和任务定义(3学时)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么(不是怎么做?),限制条件是什么。
要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。
重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。
说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。
2.逻辑设计和数据结构的选择(3学时)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。
要求:掌握逻辑设计和数据结构选择的方法。
重难点:逻辑设计和数据结构选择。
说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。
设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
总体设计建立的是目标系统的逻辑模型,与计算机无关。
3.详细设计和编码(5个学时)内容:算法的具体描述和代码的书写要求:掌握在逻辑设计基础上作详细设计的方法把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使程序中逻辑概念清楚。
重难点:在逻辑设计基础上作详细设计并编码实现。
说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
4.上机调试(4个学时)内容:源程序的输入和代码的调试要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。
《数据结构》课程设计任务书
《数据结构》课程设计任务书一、课程设计教学目的及基本要求1. 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5. 独立完成或分组完成;6. 题材不限,或从参考题目中任选一题;7. 仅限用C语言编写程序;8. 7月3日前完成。
9./jsjxy/jpkc/中课程资源有五份课程设计样例,格式可以参照,不能抄袭!10.允许分小组完成,每组最多3人组成,每人分别都要提交自己的课程设计报告,并填写附录文件“09软工数据结构课程设计分组情况.xls”。
11.同一个题目不能超过6个小组选作,“整个专业分组表”请2个班班长一起汇总,6月15日前发我信箱huangsix@。
12.每个同学设计报告命名“学号姓名.doc”,7月3日前“按班级”打一个压缩包发我信箱。
二、课程设计步骤1. 问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?2. 逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;3. 详细设计:定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;4. 程序编码:把详细设计的结果进一步求精为程序设计语言程序。
自-《数据结构》课程设计任务书 10-11-2
南京工程学院
课程设计任务书
课程名称数据结构
院(系、部、中心) 计算机工程学院
专业计算机科学与技术班级
起止日期
指导教师叶核亚
1、叶核亚编著.数据结构(C++版)(第2版). 北京:电子工业出版社,2009
2、严蔚敏等编著. 数据结构及应用算法教程. 北京:清华大学出版社,2001
3、殷人昆等编著.数据结构(用面向对象方法与C++描述)(第2版). 北京:清华
大学出版社,2007
4、张乃孝编著. 算法与数据结构——C语言描述(第2版).北京:高等教育出版
社,2002
5、许卓群等. 数据结构与算法.北京:高等教育出版社,2004
5.课程设计进度安排
起止日期工作内容
设计前二周设计周,周一周二~周四周五
设计周之后教师提出课题范围及要求,学生查阅资料,确定选题。
学生写程序草稿、运行。
教师审查验收;学生修改并完善程序,测试多种运行结果。
学生撰写设计报告。
教师验证学生程序,批改设计报告。
6.成绩考核办法
根据程序功能、运行情况和课程设计报告为依据进行考核。
成绩按分优、良、中、及格和不及格五级计分,或百分制计分。
2010级数据结构课程设计任务书
161. 运动会分数统计【问题描述】参加运动会的n个学校编号为1~n。
比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。
由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。
写一个统计程序产生各种成绩单和得分报表。
【基本要求】1)可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各学校分数为整型。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
测试数据:【测试数据】要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。
进行程序测试,以保证程序的稳定。
例如,对于n=4,m=3,w =2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。
【实现提示】可以假设n≤20,m≤30,w≤20,姓名长度不超过20 个字符。
每个项目结束时,将其编号、类型符(区分取前五名还是前三名) 输入,并按名次顺序输入运动员姓名、校名(和成绩)。
【选作内容】允许用户指定某项目采取其他名次取法。
162. 约瑟夫环【问题描述】约瑟夫(Joseph) 问题的一种描述是:编号为1,2,… ,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
数据结构课程设计指导书2010-2011
计算机科学与技术专业数据结构课程设计指导书数据结构课程教学组2009.8.2【课程设计目的】“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。
在我国,”数据结构与算法”已经作为理工科非计算机专业必修的信息技术基础课程之一。
世界上许多科技人员对学习、研究数据结构和算法都非常重视,对于从事计算机科学及其应用的科技工作者来说,数据结构与算法更是必须透彻地掌握的重要基础。
学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。
课程设计是加强学生实践能力的一个强有力手段。
课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。
课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。
严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。
【课程设计要求】学生必须仔细阅读《数据结构》课程设计任务书与本指导书,认真主动完成课设的要求。
有问题及时主动通过各种方式与教师联系沟通。
学生要发挥自主学习的能力,充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况,及时向教师汇报。
课程设计按照教学要求需要两周时间完成,由于安排的课内机时有限而且数据结构课程本身没有课内上机学时, 为保证完成课程设计任务,每位同学必须做好充分准备。
数据结构课程是多门重要专业课的先行课程,难度较大,需要较好的程序设计和调试能力。
如果学生能够按照要求,从时间和精力上保证完全的投入,相信能够有很大的收获。
具体要求如下:1.诚实代码要求:每个学生要独立完成设计任务,严禁抄袭现象。
数据结构课程设计任务书
数据结构与算法课程设计任务书目录1.课程设计目标 (2)课程目标 (2)课程任务 (2)开发环境 (2)2.课题内容要求 (2)课题一词频分析系统 (2)课题二哈夫曼编码系统 (2)课题三文档集合查询 (3)课题四基于XML的网站生成器 (3)课题五简单数字图像处理 (4)课题六DES算法实现 (5)课题七传感网模拟器 (5)3.课程设计考核要求 (6)设计要求 (6)考核方法 (6)4.课程设计进度表 (6)附1 对课程设计提交内容的要求 (8)附2课程设计上机安排表 (8)附3成绩的评定 (8)附4 课程设计报告封面 (9)附5课程设计报告模板 (11)1.课程设计目标课程目标深化对《数据结构》课程中基本概念、理论和方法的理解,训练综合运用所学知识处理实际问题的能力。
课程任务根据实际问题,结合《数据结构》课程中的基本理论和基本算法,分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法,完成总体结构设计、输入输出设计,解决实际的应用问题。
开发环境硬件:微型计算机,计算机局域网络。
软件:Visual C++,Java2.课题内容要求课题一词频分析系统[问题描述]文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。
试写一个实现这一目标的词频统计系统。
[基本要求] 英文小说存于一个文本文件中。
待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。
程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。
[测试数据] 以你的源程序模拟英文小说,程序语言保留字集作为待统计的词汇集。
[实现提示] 设小说中的词汇一律不跨行。
这样,每读入一行,就统计每个词在这行中的出现次数。
出现位置所在行的行号可以用链表存储。
若某行中出现了不止一次,不必存多个相同的行号。
课题二哈夫曼编码系统[问题描述]利用哈夫曼编码进行通信,可以压缩通信的数据量,提高传输效率,缩短信息的传输时间,还有一定的保密性。
数据结构课程设计任务书
数据结构与算法课程设计任务书一.数据结构与算法课程设计的目的和要求(一)设计的目的数据结构与算法课程设计是在学完数据结构与算法课程之后的实践教学环节。
该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。
要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。
学生通过数据结构课程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合数据结构与算法课程中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。
2.提高程序设计和调试能力。
学生通过上机实习,验证自己设计的算法的正确性。
学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
3.培养算法分析能力。
分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。
(二)设计要求1.学生必须仔细阅读《数据结构与算法》课程设计方案,认真主动完成课设的要求。
有问题及时主动通过各种方式与教师联系沟通。
2.学生要发挥自主学习的能力,充分利用时间,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。
3.课程设计按照教学要求需要一周时间完成,属教师安排上机时间学生不得缺席。
二.设计内容及步骤1.分析问题,给出数学模型,设计相应的数据结构。
(1)分析问题的特点,用数学表达式或其它形式描述其数学模型。
(2)选择能够体现问题本身特点的逻辑结构。
(3)在逻辑结构确定的情况下,为算法的设计选择相应的存储结构,顺序存储结构和非顺序存储结构的不同存储方式,其对应的算法也不相同。
2.算法设计在已经选择好数据结构的前提下,为解决问题设计算法。
(1)确定所需模块对于稍复杂的程序设计,要充分利用模块化程序设计方法,自顶向下,逐步细化,在整体思路确定的情况下,考虑所需模块数,各模块完成功能以及模块之间的数据联系和调用关系。
(2)各子模块功能描述给出主要模块的算法描述,用流程图或伪代码表示。
10(2个班)数据结构课程设计任务书
课程设计任务书《数据结构》课程设计一、课程设计的目的课程设计是《数据结构》课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。
通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。
二、课程设计的要求1.明确课设任务,复习与查阅有关资料。
2.按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。
3.应用程序应具有一定的可用性。
凡用户输入时,给出足够的提示信息。
格式明显易懂,使用户感到方便使用。
4.程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行:对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入。
三、课程设计报告内容课程设计报告中应包括封面、内容摘要、关键词、目录、正文、参考文献、附录、致谢等几部分。
正文包括绪论、需求分析、概要设计、详细设计、调试分析、测试结果、总结等。
具体:(1)封面包括设计题目、所在系、专业、班级、姓名、指导教师姓名和完成日期。
(2)内容摘要应扼要叙述课设的主要内容、特点,文字要精练,是一篇具有独立性和完整性的短文,包括基本研究方法、理论与实际意义。
关键词是供检索用的主题词条,应采用能够覆盖课程设计报告主要内容的通用专业术语。
(3)绪论一般作为第1章,综述课程设计选题的目的、背景和意义,所要研究的主要内容。
(4)需求分析陈述说明课程设计的任务。
明确规定:输入/输出形式和输出值的范围;程序所能达到的功能;测试的数据:包括正确的输入和错误的输入及其相应的输出结果。
(5)概要设计包括设计思想、实现方法、系统中主要函数及各函数间的关系描述。
(6)详细设计包括实现概要设计中定义的所有数据类型,对每个操作需要写出伪代码算法。
(7)调试分析包括:调试过程中遇到的问题,如何解决的以及对设计实现的回顾讨论和分析;对算法的分析和改进设想;经验和体会等。
数据结构课程设计任务书(10-11-2 软件09)
《数据结构》课程设计任务书学期:10-11-2 班级:软件09一、设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。
二、设计要求1、通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
2、学生必须仔细研读《数据结构》课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。
3、本次课程设计按照教学要求需要在三周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时地向指导教师汇报。
4、编程语言任选。
三、设计选题说明:课程设计题目主要分为两大类:一是基础类题,主要是验证性题,少数是简单的综合性题,侧重考查学生对数据结构课程中重要数据结构和算法的理解与掌握程度,相对较简单;本类题目选题要求:要求个人所选题目必须独立完成;原则上不得参考别人的程序,若个人能力有限必须参考,参考成分不得超过30%,其中参考部分自己必须能消化吸收,否则视为无效;为培养学生分析问题、解决问题的实际动手能力和团队协作能力,鼓励有能力的学生尽可能选作难度较高的题目或第二类题目,故仅故仅选作第一类题目中一星题目的学生,无论完成多少题目,原则上最高分不超出70分;仅选作第一类题目中一星和二星题目的学生,无论完成多少题目,原则上最高分不超出80分;仅选作第一类题目中三星和四星题目的学生,无论完成多少题目,原则上最高分不超出90分;选择其他第一类题目中组合类题目的学生无论完成多少题目,原则上最高分不超出85分;二是提高类题,主要是设计性题,侧重考查学生综合能力,包括灵活利用所学知识(主要是数据结构和算法等相关知识)去分析问题、解决问题的实际动手能力以及团队协作精神和协调能力;题目相对较难,多数题目无现成算法,考验学生的创新能力和综合素质。
数据结构课程设计任务书范本样本
数据结构课程设计任务书一、选题选题标准是数据结构算法实现及在具体问题中应用。
可选择下列和实际应用紧密结合较综合性题目,也可自选(自选题必需经过任课老师认可)。
要求经过课程设计实践,在数据结构表示、数据结构选择及应用、算法设计和实现等方面加深对数据结构课程基础内容了解和综合利用能力提升。
对下列题目每个同学课设任务按下式确定:按宿舍,每两个宿舍同学组成一小组,共同完成一个任务数据结构课程设计任务书1题目:学生运动会成绩数据库功效:学生运动会成绩数据库系统统计某校运动会上全部运动项目,各系取得分数及排名情况,包含50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。
进入系统后能够输入和修改某个项目标结果情况,能够按各系院编号输出总分;按总分排序;按男团体总分排序;按系院编号查询;按项目编号查询;按女团体总分排序。
分步实施:1)初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2)完成最低要求:建立一个文件,包含某个系,5个项目标得分情况,能对文件中信息进行扩充(追加),修改和删除;3)深入要求:完成对多个系,多个项目标得分排序,和完成系统查询功效。
有爱好同学能够自己扩充系统功效。
键盘输入:系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分)要求:1)界面友好,函数功效要划分好2)总体设计应画一步骤图3)程序要加必需注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功效少部分,也要能运行起来,不能运行程序是没有价值。
数据结构课程设计任务书2题目:哈夫曼树应用功效:1.从终端读入字符集大小n,和n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中哈夫曼树以直观方法(比如树)显示在终端上;2.利用已经建好哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中正文进行编码,然后将结果存入文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。
数据结构课程设计任务书—10房
数据结构课程设计任务书一、《数据结构课程设计》的目标课程设计是《数据结构》课程的一个重要的实践环节,它可加深学生对该课程所学内容的进一步的理解与巩固,达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,培养基本的对基本数据结构的理解和运用,良好的程序设计方法、提高编码及调试程序技能的能力,为整个专业的学习以及软件设计水平的提高打下良好的基础。
二、设计内容每位学生可在下列题目中选择两个题目,打”*”号的题目不可同时选择,并且选择的两个题目不可在同一章中。
同一组的同学不可同时选择相同的题目,若题目不够选择,可参看《数据结构题集》第二篇实习部分,从中选择不在下列表中的题目。
设计内容的具体要求可参看《数据结构题集》第二篇实习部分。
也可由学生自行选择。
但选题内容、难度要适当,要有一定的实际意义,并能达到进一步巩固和强化本课程所学知识的效果。
1、运动会分数统计2、池塘夜降彩色雨3、*一元稀疏多项式计算器4、停车场管理5、*马踏棋盘6、银行业务模拟7、电梯模拟8、*文学研究助手9、文本格式化10、哈夫曼编/译码器11、图遍历的演示12、最小生成树问题13、教学计划编制问题14、树的遍历(前后中分层)15、哈希表设计16、表达式类型的实现17、*迷宫问题18.、顺序表的就地逆置19、电话号码对应英语单词20、二叉树重建(根据根据前中遍历序列建立二叉树)三、设计要求1、课程设计包括源程序和课程设计报告。
2、每位学生必须认真、独立完成设计任务,发现抄袭者或雷同者,一律按零分处理。
3、程序设计语言可选择C或C++ 。
4、程序要正确且具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行,对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入。
5、课程设计完成后,每个学生必须提交设计程序及设计报告。
报告要求文字工整通顺、图表规范、思路清楚、内容正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与工程学院2010级数据结构课程设计任务指导书湖南科技大学计算机学院陈燕晖编2011年8月相关事项说明一:每人独立完成,不允许抄袭。
二:遵循机房管理条例。
三:在机房只能做与课程设计相关的事情,玩游戏、浏览无关网页等情况指导教师可给出本次课程设计不合格的处理。
四:课程设计结束后及时提交课程设计报告,报告格式见数据结构习题集p83。
五:本次课程设计题目提交网址http://125.221.232.254/acmhome,每位同学必须在网站注册,User Name 必须使用学号,Nickname必须写上班级和真实姓名。
六:时间安排如下,其中第一周星期一下午为讲解时间,具体安排:讲解地点:逸夫楼108讲解时间:14:30-15:50 网络、信息安全专业16:00-17:20 计算机科学与技术专业第一周星期二正式开始上机。
第二周星期五为测试时间。
实验时间:上午8:00-11:30;下午14:30-18:0011-12-1学期数据结构课程设计安排表地点:逸夫楼二楼目录A 交集 (1)B. 无所遁形 (2)C 车站调度 (4)D 简单表达式求值 (6)E. 二叉树遍历 (7)F赫夫曼编码 (8)G 二叉排序树 (9)H 查找 (10)I 自来水管道 (11)J 最小时间 (13)K Repairing a Road (14)A 交集题目描述有两个相等长度的正整数序列A和B,都是有序的(递增排序),同时一个序列中没有重复元素,现在需要求这两个序列的交——序列C,同时打印输出。
输入格式每个测试用例一共有2*n+1行,第一行输入为数列的长度n,然后下面2~n+1行,依次输入序列A中的数。
n+2~2*n+1行,依次输入序列B中的数。
其中 1 <= n <= 50000 , 序列中每个数大小不会超过1000000。
当程序输入n为0时表示结束。
输出格式每个测试用例输出一行,先输出序列C的长度,然后依次输出C中的整数,两个数之间间隔一个空格。
注意行末不要出现空格。
C中的整数递增排序。
样例输入51256712469样例输出3 1 2 6B. 无所遁形题目描述在BBS上,有些人可能注册多个ID,其中一个称为主ID,其余的称为马甲。
咱挨踢人都知道,虽然换了马甲,但是IP地址是不变的。
假定每个人的IP是不同的,每个人仅有一个主ID和一个马甲。
通过读取BBS上的帖子,要求找出主ID和对应的马甲。
输入格式每个测试用例的第一行是一个偶数n(0<=n<=20),表示BBS上的帖子数目。
紧接着有n 行信息,每行由两个字符串组成:BBS_ID IP_AddressBBS_ID是发帖人的ID,只包含小写字母,长度不超过12。
每个BBS_ID在每个测试用例中只出现一次。
IP_Address是该人的IP地址,格式为“A.B.C.D”,其中A,B,C,D是0-255范围内的整数。
每一个IP地址正好对应两个BBS_ID,首次出现的ID为主ID,后面出现的为马甲。
当程序输入n为0时表示结束。
输出格式对于每一个测试用例,输出n/2行,每行格式如下:“MJ_ID is the MaJia of main_ID”输出要求按main_ID升序排列。
每一个测试用例后应该输出一个空行。
样例输入8inkfish 192.168.29.24zhi 192.168.29.235magicpig 192.168.50.170pegasus 192.168.29.235iamcs 202.116.77.131finalBob 192.168.29.24tomek 202.116.77.131magicduck 192.168.50.1704mmmmmm 172.16.72.126kkkkkk 192.168.49.161llllll 192.168.49.161nnnnnn 172.16.72.126样例输出tomek is the MaJia of iamcs finalBob is the MaJia of inkfish magicduck is the MaJia of magicpig pegasus is the MaJia of zhillllll is the MaJia of kkkkkk nnnnnn is the MaJia of mmmmmmC 车站调度题目描述有顺序排列的1,2, 3,…,n节车厢在入站口等待调度。
车站设置了一个栈作为缓冲,这样的话只可能进行下列两个操作之一:(1)如果还有车厢在入站口,将最前面的入栈缓冲(2)将栈顶的车厢驶出车站给定一个1至n的排列,问其作为出站系列是否合法。
提示:参见习题集p21 题3.1.输入格式输入包含若干测试用例。
每一个测试用例由多行组成。
第一行是两个整数n(1<=n <= 100)和m,n表示入站系列为1至n。
m表示有随后有m行出站系列。
当n,m均为0时表示输入结束输出格式对应每一个出站系列,合法则输出一行YES,否则输出一行NO。
样例输入3 61 2 31 3 22 1 32 3 13 1 23 2 10 0样例输出YESYESYESYESNOYESD 简单表达式求值题目描述给出简单的表达式,运算符只有加减乘除,运算数是非负整数,计算其值。
输入格式输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。
没有非法表达式。
当一行中只有0时输入结束,相应的结果不要输出。
输出格式对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
样例输入13 - 8 / 4样例输出1.001.00E. 二叉树遍历题目描述对于二叉树T,可以有先序遍历、中序遍历和后序遍历三种遍历方式。
我们知道,任意给定一颗二叉树的两种遍历方式,就可以唯一确定该树。
现在我们要求给出一棵二叉树的先序遍历序列和中序遍历序列,输出它的广度优先遍历序列。
输入格式第一行为一个整数t(0<t<10),表示测试用例个数。
以下t行,每行输入一个测试用例,包含两个字符序列s1和s2,其中s1为一棵二叉树的先序遍历序列,s2为中序遍历序列。
s1和s2之间用一个空格分隔。
序列只包含大写字母,并且每个字母最多只会出现一次。
输出格式为每个测试用例单独一行输出广度优先遍历序列。
样例输入2DBACEGF ABCDEFGBCAD CBAD样例输出DBEACGFBCADF赫夫曼编码题目描述赫夫曼编码能够产生最短的报文。
以报文“ABCDABCDABCABDABAA”为例,A编为0,B对应10,C对应110,D对应111,整体的报文长度为35位二进制。
相比于定长的ASCII码,压缩比达到了18*8/35=4.1。
输入格式输入有一系列的字符串组成,每个字符串占据一行。
字符串仅包含大写字母和下划线。
字符串“END” 表示处理结束,不应对其处理。
输出格式对每一个字符串,输出其ASCII编码的比特位长度,赫夫曼编码的比特位长度,以及二者之比,精确到小数点后一位。
样例输入ABCDABCDABCABDABAAAAAAAAAAAAAAAAAAAAEND样例输出144 35 4.1144 18 8.0G 二叉排序树题目描述N个数可以有N!个排列,每个排列都可以生成一棵二叉排序树。
对于其中任意两个排列,它们生成的二叉排序树可能相同,也可能不同。
现在需要你编程序判断。
输入格式每个测试用例由多行组成。
第一行是一个整数数n,(1<=n<=20) 表示有n个需要判断,如果n= 0表示输入结束。
第二行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉排序树。
接下去的n行有n个序列,每个序列格式和第二行序列一样。
现在以第二行的序列为模板,判断这这n行序列的每一行否能生成与第二行序列一样的二叉排序树。
输出格式如果序列相同则输出YES,否则输出NO样例输入3321546987123456789321564987987654321样例输出NOYESNOH 查找题目描述给定一个集合,查找元素是否在集合中出现。
输入格式每个测试用例由多行组成,第一行是两个整数n和m,两个数范围在1到100000之间。
自第二行起一共有n+m个整数,其中前面n个整数代表集合的元素,随后的m个整数是待查询的数。
所有的整数在范围[-2^31,2^31)内。
输出格式对于每个待查询的数,如果在集合中则输出yes,否则输出no.样例输入5 37 9 3 2 -54 9 -55 3-2 1 0 -2 10 -2 3样例输出noyesyesyesyesnoI 自来水管道题目描述你领到了一个铺设校园内自来水管道的任务。
校园内有若干需要供水的点,每两个供水点可能存在多种铺设路径。
对于每一种铺设路径,其成本是预知的。
任务要求最终铺设的管道保证任意两点可以直接或间接的联通,同时总成本最低。
输入格式每个测试用例由多行组成,第一行是两个整数P和R,P代表供水点数(1<=P<=50),每个点都对应1到P中的一个唯一编号。
R代表可能的铺设路径数,路径数可能有非常多。
接下有R行,每行格式如下:节点A编号节点B编号路径成本路径成本不超过100。
测试用例之间有一空行分开。
输入结束用P=0表示,注意没有R值。
输出格式每个测试用例占用一行输出最低总成本。
样例输入1 02 31 2 372 1 171 2 683 71 2 192 3 113 1 71 3 52 3 893 1 911 2 325 71 2 52 3 72 4 84 5 113 5 101 5 64 2 12样例输出171626J 最小时间题目描述有多个城市组成一个铁路交通网络。
任意两个城市之间有直连铁路,或者通过其他城市间接到达。
给定某个城市,要求min时间内能到达任意指定的另一城市,求最小min。
输入格式每个测试用例由多行组成,第一行是整数n(1 <= n <= 100),表示城市的数目。
其余行表示邻接矩阵A。
A(i,j)的值如果是一个整数t,表示城市i与城市j有铁路直连,需要t时间到达另一方。
如果A(i,j)的值为x,表明城市i与城市j之间没有直连铁路。
很明显有A(i,i) = 0。
由于对称关系和A(i,i) 为0,输入只给出矩阵的下三角。
第一行A(1,1)在输入中省略,第二行只有A(2,1),下一行则是A(3,1) 和A(3,2),依此类推。
输出格式输出城市1所对应的min。
样例输入55030 5100 20 5010 x x 10样例输出35K Repairing a Road题目描述You live in a small town with R bidirectional roads connecting C crossings and you want to go from crossing 1 to crossing C as soon as possible. You can visit other crossings before arriving a t crossing C, but it’s not mandatory.You have exactly one chance to ask your friend to repair exactly one existing road, from the time you leave crossing 1. If he repairs the i-th road for t units of time, the crossing time after that would be viai-t. It's not difficult to see that it takes vi units of time to cross that road if your friend doesn’t repair it.You cannot start to cross the road when your friend is repairing it.输入格式There will be at most 25 test cases. Each test case begins with two integers C and R(2<=C<=100, 1<=R<=500). Each of the next R lines contains two integers x i, y i (1<=x i, y i<=C) and two positive floating-point numbers v i and a i (1<=v i<=20,1<=a i<=5), indicating that there is a bidirectional road connecting crossing x i and y i, with parameters v i and a i (see above). Each pair of crossings can be connected by at most one road. The input is terminated by a test case with C=R=0, you should not process it.输出格式For each test case, print the smallest time it takes to reach crossing C from crossing 1, rounded to 3 digits after decimal point. It’s always possible to reach crossing C from crossing 1.样例输入3 21 2 1.5 1.82 3 2.0 1.52 11 2 2.0 1.80 0样例输出2.5891.976。