数据结构任务书
- 格式:pdf
- 大小:320.97 KB
- 文档页数:20
1006402《数据结构》课程设计任务书一、设计目的1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码测试等基本方法和技能。
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力。
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。
二、设计地点湖南城市学院实验楼计算机房407三、设计时间2018年6月4日——6月8日四、设计分组(54人>五、指导教师:陈强莫照六、设计课题:1.表达式翻译要求:编写完整程序,将不包含括号的算术中缀表达式翻译成后缀表达式.输入:中缀表达式,80个字符以内.输出:转换后的后缀表达式.要求:界面友好,函数功能要划分好2.超市选址问题设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。
请为超市选址,要求实现总体最优。
3.串的查找和替换输入或打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词。
4.地图着色问题设计要求:已知中国地图,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色总数最少。
5.二叉排序树的实现用顺序和二叉链表作存储结构1>以回车('\n'>为输入结束标志,输入数列L,生成一棵二叉排序树T;2>对二叉排序树T作中序遍历,输出结果;3>输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2>;否则输出信息“无x”;6.二叉树的遍历问题二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。
《数据结构与算法实验》任务书《数据结构与算法实验》任务书实验一动态链表的设计与应用一、实验目的、要求1、掌握使用VC 6.0上机调试线性表的基本方法;2、掌握线性表的基本操作:插入、删除、查找以及线性表合并等运算在顺序存储结构和链式存储结构上的运算。
二、实验内容1.输入一组学生信息,建立一个单链表。
2.遍历该链表,输出学生信息。
3.查找某特定的学生,查找成功返回1,否则返回0。
4.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。
5.利用算法4建立两个非递减有序单向链表,然后合并成一个非递增链表。
*6.采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。
7.编写一个主函数,调试上述算法。
*8.综合训练:利用链表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等,并能够实现将数据存储到文件中)三、实验说明1.存储定义#define MAXSIZE 100 //表中元素的最大个数typedef int ElemType;//元素类型typedef struct list{ElemType elem[MAXSIZE];//静态线性表int length; //表的实际长度}SqList;//顺序表的类型名2.建立顺序表时可利用随机函数自动产生数据。
四、注意问题1.插入、删除时元素的移动原因、方向及先后顺序。
2.了解不同的函数形参与实参的传递关系。
一、实验目的、要求1.掌握栈、队列的思想及其存储实现。
2.掌握栈、队列的常见算法的程序实现。
二、实验内容1.采用链式存储实现栈的初始化、入栈、出栈操作。
2.采用顺序存储实现栈的初始化、入栈、出栈操作。
3.采用链式存储实现队列的初始化、入队、出队操作。
4.采用顺序存储实现循环队列的初始化、入队、出队操作。
5.在主函数中设计一个简单的菜单,分别测试上述算法。
*6.综合训练:1)利用栈实现表达式求值算法。
《数据结构与算法》课程设计教学任务书一、课程设计的目的数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。
数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。
通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。
通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计的基本要求1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3. 按照课程设计的具体要求建立功能模块,要求按照如下几个内容认真完成:1)需求分析:在该部分中叙述,所选课题的功能要求。
2)概要设计:在此说明所选课题的功能模块,以及每个功能模块的算法设计(可以是描述算法的功能模块图),所选课题的的数据结构以及其存储结构设计说明等。
(如果指定存储结构请写出该存储结构的定义)3)详细设计:针对2)中的主要功能模块,画出流程图,给出主要功能模块的流程图、算法及必要的文字说明)4)编码实现:给出3)中主要功能模块的函数实现,重点是函数的声明,变量或参数的说明,以及程序的功能说明与注释,不必把所有代码都写上,主要写出其声明与注释等。
数据结构课程设计任务书一、课程设计的目的数据结构课程设计是为数据结构课程独立开设的实践性教学环节。
数据结构课程设计对于巩固数据结构知识,加强学生的实际动手能力和提高学生综合素质是十分必要的。
课程设计的目的:1.要求学生达到熟练掌握C语言的基本知识和技能。
2.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力。
3.提高程序设计和调试能力。
学生通过上机实习,验证自己设计的算法的正确性。
学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
4.培养算法分析能力。
分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。
5.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
二、课程设计的要求数据结构课程设计用C/C++编程实现。
课程设计的一般步骤:1.问题描述与分析:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?限制条件是什么?2.数据结构设计:为实现每个功能选择的逻辑结构和存储结构,分析原因及合理性。
3.软件结构设计:设计软件模块之间的结构。
4.算法设计:算法的设计及算法分析。
每个部分的算法设计说明,可以用流程图描述算法。
5.程序编码:把详细设计的结果进一步求精为程序设计语言程序。
源程序要按照软件工程的规则来编写,要求结构清晰,重要功能部分要加上清晰的程序注释。
6.调试分析:掌握调试工具的各种功能,设计测试数据,测试输出的结果。
并进行算法的时间复杂度和空间复杂度的分析。
7.总结:课程设计过程的收获,遇到问题以及解决问题的思路和方法,程序调试能力的思考,对数据结构这门课程的认识及思考等。
8.编写课程设计报告。
三、课程设计题目及分组1、栈的应用:表达式求值1)设计题目设计一个表达式求值的程序。
该程序必须可以接受包含(,),+,-,*,/,%,和^(求幂运算符,a^b=a b)的中缀表达式,并求出结果。
如果表达式正确,则输出表达式的结果;如果表达式非法,则输出错误信息。
《数据结构》课程设计任务书计算机与通信学院2018-5湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院湖南工业大学计算机与通信学院湖南工业大学计算机与通信学院湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书湖南工业大学计算机与通信学院《数据结构》课程设计任务书。
《数据结构》课程实训任务书学期:2014~2015学年第三学期班级:131时间:1--4周机房:博学楼,70X实验室一、目的和要求1、进一步掌握常用算法的思想及实现;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、掌握调试中小程序的基本方法;5、掌握流程图的表示方法;6、掌握书写程序设计开发文档的能力;7、锻炼和提高查找资料和自学能力;8、从“二、设计任务”中选择一个项目来完成,用C语言实现,系统的各个功能模块要求用函数的形式实现。
以小组为单位进行。
小组人数以3~4人为宜。
9、强调独立完成,强调实际成果;重视软件测试,重视文档写作。
10、课程实训结束后,每人要求提供以下电子文档:1)每组提交一份源程序文件2)每人提交一份实训报告。
实训报告的具体格式参考“三、课程设计报告格式”。
每组同学根据自己在小组中的任务不同,完成自己的模块的相关任务书。
3)每组一个演示文稿,答辩使用。
11、答辩以小组为单位,按照提交次序按组答辩。
二、设计任务课题一:宿舍管理查询系统1)任务:为宿舍管理员编写一个宿舍管理查询系统2) 程序要求A、采用交互工作方式(键盘、鼠标均可,控制台或者图形界面均可)B、建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入、快速排序任选一种)C、用二分查找实现以下操作:按姓名查询、按房号查询、按学号查询D、打印任一查询结果课题二:各种排序算法时间性能的比较1) 问题描述对各种排序方法(直接插入排序、希尔排序、起泡排序、快速排序、直接选择排序、堆排序和归并排序)的时间性能进行比较。
2) 基本要求(1) 设计并实现上述各种排序算法;(2) 产生正序和逆序的初始排列分别调用上述排序算法,并比较时间性能;(3) 产生随机的初始排列分别调用上述排序算法,并比较时间性能。
3) 设计思想上述各种排序方法都是基于比较的内排序,其时间主要消耗在排序过程中进行的记录的比较次数和移动次数,因此,统计在相同数据状态下不同排序算法的比较次数和移动次数,即可实现比较各种排序算法的目的。
平顶山工学院《数据结构》课程设计任务书班级0814101/2专业计算机科学与技术课程名称数据结构指导教师张芳芳、杨斌、张延红计算机科学与工程系2018年2月《数据结构》课程设计任务书一、设计时间及地点1、设计时间:第1周2、设计地点:计算机系机房205、212二、设计目的和要求数据结构课程设计是在学完数据结构课程之后的实践教案环节。
该实践教案是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。
要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。
学生通过数据结构课程设计在下述各方面得到锻炼:1、能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。
2、提高程序设计和调试能力。
学生通过上机实习,验证自己设计的算法的正确性。
学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。
3、培养算法分析能力。
分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。
学生认真主动完成课程设计的要求,发挥自主学习的能力,充分利用时间,安排好课程设计,并在课程设计过程中不断检测自己的计划完成情况,及时向教师汇报。
三、设计题目和内容1、运动会分数统计任务:参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子工程,和w 个女子工程。
工程编号为男子1……m,女子m+1……m+w。
不同的工程取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。
<m<=20,n<=20)功能要求:<1)可以输入各个工程的前三名或前五名的成绩;<2)能统计各学校总分;<3)可以按学校编号或名称、学校总分、男女团体总分排序输出;<4)可以按学校编号查询学校某个工程的情况;可以按工程编号查询取得前三或前五名的学校。
《数据结构》实验指导书重庆大学数学与统计学院2008-12前言《数据结构》是计算机科学与技术、网络工程等专业的专业基础必修课,主要介绍如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法进行分析和评价。
本课程的学习应使学生深刻地理解数据结构的逻辑结构和物理结构的基本概念及有关算法,培养学生基本的、良好的程序设计技能以及针对具体问题,选择适当的数据结构,设计出有效算法的能力。
《数据结构》是一门理论和实践相结合的课程,它在整个计算机专业教学体系中处于举足轻重的地位,是计算机科学的算法理论基础和软件设计的技术基础,其上机实验的目的主要是编程实现数据结构各章的主要算法,训练学生实际动手进行程序设计和程序调试的能力,加深对数据结构相关概念和算法的理解。
实验一、单链表的基本操作一、实验目的1、掌握线性链表的操作特点,即指针是逻辑关系的映像。
2、掌握动态产生单链表的方法。
3、熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序。
二、实验内容1、动态创建单链表2、实现线性表链式存储结构中元素的插入。
3、实现线性表链式存储结构中元素的删除。
三、具体要求1、单链表的存储结构定义typedef struct LNode {ElemType data; // 数据域struct LNode *next; // 指针域} LNode, *LinkList;2、从键盘上依次输入21、18、30、75、42、56,逆序创建单链表,并输出单链表中的各元素值。
3、分别在单链表的第3个位置和第9个位置插入67和10,给出插入成功或失败的信息,并输出单链表中的各元素值。
4、删除单链表中的第6个数据元素和第8个数据元素,给出删除成功或失败的信息,并输出单链表中的各元素值。
四、实验报告内容1、实验目的2、实验内容和具体要求3、完成情况和实验记录,实验记录为实验过程中遇到的问题及解决方法4、程序清单5、所输入的数据及相应的运行结果实验二栈、队列算法设计一、实验目的1、熟悉栈这种特殊线性结构的特性;2、熟练掌握栈在顺序存储结构和链表存储结构下的基本运算;3、熟悉队列这种特殊线性结构的特性;4、熟练掌握队列在链表存储结构下的基本运算。
《数据结构》课程设计任务书《数据结构》课程设计任务说明一、题目及选题规定1、课程设计题目1)航空客运订票系统2)用二叉树实现家谱的相关运算3)电话客户服务模拟2、选题规定数据结构课程设计需独立完成1个选题内容。
1)~3)选题中任选一个。
二、课程设计进度安排1.问题分析和任务定义(3学时)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么(不是怎么做?),限制条件是什么。
要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。
重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。
说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。
2.逻辑设计和数据结构的选择(3学时)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。
要求:掌握逻辑设计和数据结构选择的方法。
重难点:逻辑设计和数据结构选择。
说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。
设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
总体设计建立的是目标系统的逻辑模型,与计算机无关。
3.详细设计和编码(5个学时)内容:算法的具体描述和代码的书写要求:掌握在逻辑设计基础上作详细设计的方法把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使程序中逻辑概念清楚。
重难点:在逻辑设计基础上作详细设计并编码实现。
说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
4.上机调试(4个学时)内容:源程序的输入和代码的调试要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。
沈阳工程学院课程设计任务书课程设计题目:数据结构与算法课程设计系别信息工程系班级学生姓名学号指导教师职称课程设计进行地点:任务下达时间:年月日起止日期:年月日起——至年月日止教研室主任年月日批准一、课程设计的原始资料及依据数据结构与算法课程设计是在完成数据结构理论课程学习之后进行的一个综合性的实践教学环节,是对课程理论和课程实验的一个补充。
通过课程设计,培养学生综合运用已学过的理论和技能去分析和解决实际问题的能力,并使所学知识得到进一步巩固、深化和扩展。
二、课程设计主要内容及要求设计内容:1、设有一元素为整数的线性表L=(a1,a2,a3,…,an),存放在一维数组A[N]中,设计一个算法,以表中an作为参考元素,将该表分为左、右两部分,其中左半部分每个元素小于等于an,右半部分每个元素都大于an, an位于分界位置上(要求结果仍存放在A[N]中)。
2、设线性表存于A[1..size]的前num各分量中,且递增有序。
请设计一个算法,将x插入到线性表的适当位置上,以保持线性表的有序性。
3、线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。
要求设计一算法完成:4、用最少时间在表中查找数值为x的元素。
5、若找到将其与后继元素位置相交换。
6、若找不到将其插入表中并使表中元素仍递增有序。
7、已知数组A[0:n-1]的元素类型为int,试设计算法将其调整为左右两个部分,左边所有元素为奇数,右边所有元素为偶数。
8、设计一个算法从顺序表L中删除所有值为x的元素9、设计一个算法从顺序表L中删除所有值为x到y之间(x<=y)的元素10、假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。
请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。
11、已知L1、L2分别为两循环单链表的头结点指针,m,n分别为L1、L2表中数据结点个数。
《数据结构》实践教学环节任务书一、课程设计题目:迷宫问题求解二、目的与要求1、目的:通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
2、要求:基本要求:1. 要求利用C\C++语言来完成系统的设计;2. 突出C语言的函数特征(以多个函数实现每一个子功能)或者C++语言面向对象的编程思想;3. 画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言或者C++语言的各种操作。
创新要求:在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实现,实现友好的人机交互等等三、问题描述和求解方法:1 、问题描述(功能要求):可以任意定义一个迷宫,用非递归的方法求出走出迷宫的通路,并把路径输出出来。
要求:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。
1) 迷宫的存储结构要合理;2) 应该考虑算法的时间和空间复杂度。
3) 当确定迷宫的规模以及形态以后要把至少一条能走出迷宫的路径输出出来;4)程序应当满足正确性、可读性、健壮性和高效率及低存储量等目标要求,遵循代码规范,方便调试和阅读。
2 、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:( 1 )迷宫可以采用二维数组来存储,迷宫的通路状态可以用不同的字符来表示;( 2 )根据问题描述,设计算法的实现;( 3 )建议在解决问题时要采用栈或者队列数据结构;( 4 )完成算法的各个功能模块;( 5 )功能调试;( 6 )完成系统总结报告以及系统使用说明书。
四、解题过程1. 分析程序的功能要求,划分程序功能模块。
2. 画出系统流程图。
3. 代码的编写。
定义数据结构和各个功能子函数。
4. 程序的功能调试。
5. 完成系统总结报告以及使用说明书五、进度安排此次课程设计时间为一周,分以下几个阶段完成:1. 选题与搜集资料:每人选择一题,进行课程设计课题的资料搜集。
2. 分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。
3. 程序设计:运用掌握C/C++语言编写程序,实现各个模块功能。
4. 调试与测试:调试程序,并记录测试情况。
5. 完成课程设计报告。
6. 验收与评分:指导教师对每个同学的开发的系统进行综合验收,并由学院考核小组进行随机抽查评分。
六、撰写课程设计报告或课程设计总结课程设计报告要求规范书写,应当包括如下7个部分:1. 需求分析2. 系统设计3. 程序流程图4. 类关系图5. 实现代码6. 总结7. 参考书目七、答辩与评分标准:1 、作业文档: 50 分;2 、基本功能和要求: 20 分;2 、设计报告及使用说明书: 10 分;3 、设置错误或者按照要求改变结果: 10 分;4 、回答问题: 10 分。
八、参考资料《数据结构(C语言版)》 网上相关资料(....略)《数据结构》实践教学环节任务书一、课程设计题目:校园交通导游系统二、目的与要求1、目的:通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
2、要求:基本要求:1. 要求利用C\C++语言来完成系统的设计;2. 突出C语言的函数特征(以多个函数实现每一个子功能)或者C++语言面向对象的编程思想;3. 画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言或者C++语言的各种操作。
创新要求:在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实现,实现友好的人机交互等等三、问题描述和求解方法:1 、问题描述(功能要求):通过输入一张某校园景点和导游路径,游客通过终端询问可知:从某一景点到另一景点的最短路径。
2 、问题的解决方案:1)可以把学校景点和导游路径抽象成为有向图或者无向图,进而把问题转化成为求解最短路径。
2)任意选取Dijkstra算法、Bellman-Ford算法或者Floyd算法求最短路径。
四、解题过程1. 分析程序的功能要求,划分程序功能模块。
2. 画出系统流程图。
3. 代码的编写。
定义数据结构和各个功能子函数。
4. 程序的功能调试。
5. 完成系统总结报告以及使用说明书五、进度安排此次课程设计时间为一周,分以下几个阶段完成:1. 选题与搜集资料:每人选择一题,进行课程设计课题的资料搜集。
2. 分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。
3. 程序设计:运用掌握C/C++语言编写程序,实现各个模块功能。
4. 调试与测试:调试程序,并记录测试情况。
5. 完成课程设计报告。
6. 验收与评分:指导教师对每个同学的开发的系统进行综合验收,并由学院考核小组进行随机抽查评分。
六、撰写课程设计报告或课程设计总结课程设计报告要求:课程设计报告要求规范书写,应当包括如下7个部分:1. 需求分析2. 系统设计3. 程序流程图4. 类关系图5. 实现代码6. 总结7. 参考书目七、答辩与评分标准:1 、作业文档: 50 分;2 、基本功能和要求: 20 分;2 、设计报告及使用说明书: 10 分;3 、设置错误或者按照要求改变结果: 10 分;4 、回答问题: 10 分。
八、参考资料《数据结构(C语言版)》网上相关资料(....略)数据结构实践教学环节任务书一、题目: 哈夫曼编码/译码的设计与实现二、目的与要求1、目的:通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
2、要求:基本要求:1. 要求利用C\C++语言来完成系统的设计;2. 突出C语言的函数特征(以多个函数实现每一个子功能)或者C++语言面向对象的编程思想;3. 画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言或者C++语言的各种操作。
创新要求:在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实现,实现友好的人机交互等等三、问题描述和求解方法:首先根据给定的n个字符的权值构造哈夫曼树。
通过遍历此二叉树完成各字符的哈夫曼编码,另输入一组‘0’、‘1’代码构成的报文将其翻译成对应的字符信息。
四、解题过程1. 分析程序的功能要求,划分程序功能模块。
2. 画出系统流程图。
3. 代码的编写。
定义数据结构和各个功能子函数。
4. 程序的功能调试。
5. 完成系统总结报告以及使用说明书五、进度安排此次课程设计时间为一周,分以下几个阶段完成:1. 选题与搜集资料:每人选择一题,进行课程设计课题的资料搜集。
2. 分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。
3. 程序设计:运用掌握C/C++语言编写程序,实现各个模块功能。
4. 调试与测试:调试程序,并记录测试情况。
5. 完成课程设计报告。
6. 验收与评分:指导教师对每个同学的开发的系统进行综合验收,并由学院考核小组进行随机抽查评分。
六、撰写课程设计报告或课程设计总结课程设计报告要求:课程设计报告要求规范书写,应当包括如下7个部分:1. 需求分析2. 系统设计3. 程序流程图4. 类关系图5. 实现代码6. 总结7. 参考书目七、答辩与评分标准:1 、作业文档: 50 分;2 、基本功能和要求: 20 分;2 、设计报告及使用说明书: 10 分;3 、设置错误或者按照要求改变结果: 10 分;4 、回答问题: 10 分。
八、参考资料《数据结构(C语言版)》网上相关资料(....略)《数据结构》实践教学环节任务书一、课程设计题目:内部排序算法的性能分析二、目的与要求1、目的:通过布置具有一定难度的实际程序设计项目,使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法;使学生掌握分析问题,求解问题的方法并提高学生设计编程实现的能力。
2、要求:基本要求:1. 要求利用C\C++语言来完成系统的设计;2. 突出C语言的函数特征(以多个函数实现每一个子功能)或者C++语言面向对象的编程思想;3. 画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握C语言或者C++语言的各种操作。
创新要求:在基本要求达到后,可进行创新设计,如系统用户功能控制,改进算法的实现,实现友好的人机交互等等三、问题描述和求解方法:1 、问题描述(功能要求):功能:设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数。
要求:1) 界面友好,函数功能要划分好2) 总体设计应画出流程图3) 程序要加必要的注释4) 要提供程序测试方案5) 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值2 、问题的解决方案:1) 对起泡排序、直接排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;2) 排序表中数据数目不小于100 ,表中数据随机产生,至少用5组不同数据集作比较,比较指标有:关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动);3) 输出比较结果。
4)用描点法绘出各种排序算法对着问题规模增长关键字比较次数和交换次数的变化趋势,同算法本身时间复杂度进行比较。
四、解题过程1.分析程序的功能要求,划分程序功能模块。
2.画出系统流程图。
3.代码的编写。
定义数据结构和各个功能子函数。
4.程序的功能调试。
5.完成系统总结报告以及使用说明书五、进度安排此次课程设计时间为一周,分以下几个阶段完成:1.选题与搜集资料:每人选择一题,进行课程设计课题的资料搜集。
2.分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。
3.程序设计:运用掌握C/C++语言编写程序,实现各个模块功能。
4.调试与测试:调试程序,并记录测试情况。