《数据结构课程设计》教学大纲
数据结构课程教学大纲

数据结构课程教学大纲第一篇:数据结构课程教学大纲数据结构课程教学大纲一、课程基本概况课程名称:数据结构课程名称(英文): Data Structures课程编号:B09042课程总学时:60(其中,讲课48,实验12)课程学分:3课程分类:专业选修课开设学期:4适用专业:计算机网络工程本科先修课程:集合论,图论,高级语言(结构或记录,指针)后续课程:数据库,编译原理,操作系统等二、课程的性质、目的和任务数据结构是计算机专业的一门核心专业课程,是软件课程中非常重要的一门课程,在整个专业教学中占有十分重要的地位,是一门理论性非常强的课程。
通过课堂教学、课外练习和上机实习,使学生了解数据对象的特性,数据组织的基本方法,并初步具备分析和解决现实世界问题在计算机中如何表示和处理的能力以及培养良好的程序设计技能,为后续课程的学习和科研工作的参与打下良好的基础。
三、主要内容、重点及深度本门课程共60学时,其中理论教学48学时,实验教学12学时。
其中,理论教学部分:第一章绪论(一)目的要求了解数据结构的意义与发展过程、数据结构在计算机科学中的作用、学习本课程的目的、任务及要求。
理解数据结构的基本概念;算法设计;掌握算法的时间和空间复杂度。
(二)教学内容本章知识点:1.相关的基本概念(掌握);2.算法五大要素 (掌握);3.计算语句频度和估算算法时间复杂度的方法(掌握)。
(三)重点与难点重点:数据结构的定义;算法的描述方法。
难点:数据结构的定义;算法与程序的区别;时间复杂度及其计算。
第二章线性表(一)目的要求掌握线性表的逻辑结构;线性表的存储结构及操作的实现;理解一元多项式的表示;(二)教学内容本章知识点:1.线性表的逻辑结构(掌握);2.线性表的存储结构(掌握);3.线性表在顺序结构和链式结构上实现基本操作的方法(掌握);4.从时间和空间复杂度的角度比较线性表两种存储结构的不同特点及其适用场合(掌握)。
(三)重点与难点重点:线性表的概念;线性表的顺序存储结构、链式存储结构及其常用算法。
数据结构课程设计大纲

《数据结构课程设计》教学大纲(Data StructureCurriculum Design)制定单位:信息科学学院计算机系制定人:王瑜审核人:江效尧编写时间:2011年10月18日第一部分课程概述一、基本信息(一)课程代码(二)课程属性、学分、学时本课程属于计算机科学与技术专业的学科基础课,2学分,共30学时(三)适用对象本课程面向对象为计算机科学与技术专业的本科生(四)先修课程与知识准备先修课程:程序设计基础,数据结构二、课程简介《数据结构课程设计》是计算机科学与技术专业集中性的实践教学环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。
三、教学目标《数据结构课程设计》是计算机科学与技术专业专业本科生的一门必修课程。
通过本课程学习,其目的就是要达到理论与实际应用相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能,并强化学生的团队分工与合作能力。
四、师资团队王瑜陈一飞五、教学资源教材:1.《数据结构(C语言版)》严蔚敏,吴伟民等编著清华大学出版社,20072.《数据结构课程设计》苏仕华编著机械工业出版社,2005.参考文献:1. 《数据结构(C语言版)》唐国民等编著清华大学出版社,2009.92. 《C语言数据结构程序设计》王开铸等编著哈尔滨工业大学出版社,2003.33. 《数据结构课程设计》滕国文编著清华大学出版社出版,2010.9.专题网站:1. /~jrs/61b/2. http://172.17.14.75实践性教学资源:竞慧东楼实验室六、教学要求1.要求教师具有计算机相关的专业背景,熟悉程序设计、编译原理、操作系统等相关课程的内容。
2.要求教师开设过《数据结构》课程,在开课之前对课程设计内容有深入的理解。
3.课程组定期进行教学研讨活动,各团队成员应该按时参加,研究教学规律,交流教学经验,探讨教学内容,反映在教学中出现的问题,群策群力,共同提高教学质量。
数据结构课程设计教学大纲

数据结构课程设计教学大纲一、课程简介《数据结构课程设计》既是软件工程专业学生的专业必修课程,也是集中性的实践教学环节之一,同时也是理解和深入掌握数据结构课程的重要环节。
二、课程目标(一)课程具体目标1.培养学生问题定义和需求分析能力,软件测试能力,使学生能够按照要求进行计算机软硬件开发项目的测试和评价。
2.掌握问题分解方法,模块化设计,能够基于计算机学科相关原理和方法选择研究路线对复杂工程问题进行分解。
3.注重答辩能力培养,文档书写,能够对采集到的实验数据进行整理、分析和解释,并能通过信息综合得出有效结论。
(二)课程目标与专业毕业要求的关系表1 本课程对专业毕业要求及其指标点的支撑(三)课程对解决复杂工程问题能力的培养在课程理论知识讲授环节,注重培养学生对数据结构课程相关知识的深入理解,使学生具备利用所学解决实际问题的能力,并通过适当的课程设计题目锻炼和检验学生解决复杂工程问题的能力,以培养学生解决复杂工程问题的能力为目标,围绕课程支撑的课程指标安排实验项目,设计实验内容,明确实验要求,指导实验实施,严格实验成果考核。
在课程考核环节,根据课程支撑的课程指标选择合适的考核方式,题目设置应完全覆盖课程支撑的课程指标,设计题目应充分考虑对学生解决复杂工程问题所需知识和能力,题目的难度和深度应能够体现复杂工程问题的特征。
总之,本课程的教学通过在理论讲授、课程考核等环节充分贯彻培养学生解决复杂工程问题能力的理念和要求,实现本课程支撑课程指标的达成。
三、教学内容及基本要求(一)教学内容课程设计题目,学生可以选择教师指定的题目,也可以结合自身兴趣拟定课程设计题目,1人1组。
具体内容包括:(1)分析题目要求,整理出数据需求与类需求;(2)设计系统架构和模块,给出合理的总体和详细设计方案;(3)代码编写与系统测试;(4)整理、撰写课程设计报告;(5)总结设计,进行答辩。
(二)基本要求课程设计的最终成果包括系统代码与课程设计报告。
数据结构课程设计课程设计教学大纲

《数据结构课程设计》课程设计教学大纲Course Design of Data Structure课程代码:课程性质:设计(论文)/必修适用专业:信息计算、信息安全开课学期:5总学时数:1周总学分数:1编写年月:2004年7月修订年月:2007年7月执笔:刘科峰、李小英、高学军一、课程设计的性质和目的《数据结构课程设计》是本学院本科专业的集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合应用练习。
其目的就是要达到理论与实际相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能。
二、课程设计内容及学时分配写出不少于3000字的课程设计说明书。
说明书中除了在封面中应有题目、班级、姓名、学号和课程设计日期以外,其正文一般有如下几个方面的内容:1.需求分析2.概要设计3.详细设计4.调试分析5.测试结果6.附录或参考资料三、课程设计教学基本要求四、课程设计选题根据教材《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,或选择下列与实际应用紧密结合的较综合性的题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。
1.运动会分数统计系统;2.停车场管理系统;3.民航售票系统;4.有理数四则运算器;5.文本格式化器;6.哈夫曼编/译码器;7.教学计划编制;8.计算机辅助考核系统;9.学籍管理系统;10.图书管理系统。
五、本课程与其它课程的联系与分工本课程是《数据结构》的配套课程,学完《数据结构》后进行的综合性课程设计。
六、成绩评定由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的工作态度等综合打分。
课程设计结束时,要求学生写出课程设计报告,可运行的软件系统(包括源程序)。
课程设计成绩:上机情况(20%)包括出勤情况、调试表现。
《数据结构课程设计》教学大纲

《数据结构课程设计》教学大纲《数据结构课程设计》教学大纲课程名称:数据结构课程编号:408104 436104适用专业:计算机科学与技术软件工程总学分: 4总学时:72其中实验学时30主撰人:审核人:撰写日期:2012.6一、目的与任务《数据结构》是计算机软件的一门基础课程,计算机科学各领域及有关的应用软件都要用到各种类型的数据结构。
学好数据结构对掌握实际编程能力是很有帮助的。
为了学好《数据结构》,必须编写一些在特定数据结构上的算法,通过上机调试,才能更好地掌握各种数据结构及其特点,同时提高解决计算机应用实际问题的能力。
二、教学基本要求1.设计和调试过程要规范化需求分析:将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法。
②源程序(可以是一组源程序,即详细设计部分)源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。
尽量避免出现操作错误时出现死循环。
2.课程设计实习报告的书写格式①设计题目②运行环境(软、硬件环境)③算法设计的思想④算法的流程图⑤算法设计分析⑥源代码⑦运行结果分析⑧收获及体会3.实施方式可设3-4人一题,安排在《数据结构》课程开课学期布置题目,然后在期末两周时间内完成。
4.答辩:课题的论述、测试及问题回答三、课程设计内容1、背包问题的求解:假设有一个能装入总体积为T的背包和n件体积分别为w1 , w2 , … , wn 的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1 +w2 + … + wn=T,要求找出所有满足上述条件的解。
数据结构与算法(Python版)《数据结构课程设计》教学大纲

《数据结构课程设计》教学大纲课程名称:数据结构课程设计适用专业:计算机科学与技术先修课程:数据结构学分:4总学时:60一、课程简介数据结构课程设计是为数据结构课程独立开设的一门实验课程。
数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,自行实现一个较为完整的应用系统的设计与开发。
其主要目的是使学生通过系统分析、系统设计、编程调试、写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用,进一步提高分析问题和解决问题的能力,提高程序设计水平。
二、课程目标目标1:掌握数据结构基本理论及相关算法,提出具体问题的正确数据结构表述和问题的合理解决方案和设计思想,培养学生对实际问题分析和设计能力。
目标2:能够针对特定问题进行探索,在编程环境中实现该问题的程序开发,培养学生实践动手能力。
目标3:针对特定问题的算法程序,进行实验数据验证和实验结果分析,并评价解决方案的性能,培养学生测试和分析能力。
三综合实践教学内容及要求(1)前期准备阶段1.教学内容:教师给学生讲解本课程设计的题目要求;学生完成选题及前期准备工作。
2.基本要求:(1)了解题目的基本要求,完成选题工作;(2)理解处理数据的逻辑结构、存储结构和解决问题的算法描述;(3)完成所选题目的概要设计,形成完整的设计方案。
3.重点及难点:重点:数据的逻辑结构、存储结构和相关算法的分析和设计。
难点:解决问题的算法分析和设计。
4.形成的成果及课外学习要求(1)要求学生完成题目的选取;(2)要求学生完成所选题目的概要设计;(3)要求学生想成所选题目的设计方案。
(2)设计实现阶段1.教学内容:学生在编程环境中完成程序的编辑、链接、运行和调试,形成功能正确的可执行文件,完成设计任务。
2.基本要求:(1)具备程序的编辑、链接、运行和调试能力;(2)具备系统开发设计能力;(3)能够在编程环境中实现课程设计题目的程序开发。
《数据结构课程设计》教学大纲

块的算法思路,相应流
程图的绘制。
要求学生在下周上课
前完成:
1、完成实验报告“算 投影
4 法说明”部分。下次上
计算机 课一开始就提交!
2、准备资料,开始编
写代码。
编写代码: 学生依自身情况,确定本周要完成哪
些模块的代码编写,以及测试。 四 注意:不要等到所有代码写完了,一
起测试,那样很难确定问题所在。应 局部调试通过,再逐渐加入,最终联 调。
5、凡照抄、照搬者,无论来自同学、图书、网上资源,一律视其严重程度扣分。 较严重者不及格,代码和设计报告雷同者记零分。
七、推荐教材和教学参考书
教材:
《数据结构教程(第 5 版)上机实验指导》李春葆,清华大学出版社,2017 年 8 月第 1 版.
《数据结构课程设计(第 2 版)》苏仕华.北京:机械工业出版社,2010.
完成了哪些部分,按贡献大小给出排名。 3、鼓励同学之间的讨论和相互启发,但也仅限于启发思路和解决局部疑难问题的
作用,绝不允许照抄、照搬同学的代码和设计报告。 4、参考资料包括各种图书,网上资源。课程设计离不开参考资料,但是对参考资
料的使用是在阅读理解的基础上加以借鉴,仅限于启发思路和解决局部疑难问题的作 用,绝不允许照抄、照搬的行为。
可得该部分满分的 80%
可得该部分满分的 10%
可得该部分满分的 10%
可得该部分满分的 60%
可得该部分满分的 25%
可得该部分满分的 15%
(三)参考资料的使用与抄袭行为的处罚
1、对于要求独立完成的题目必须独立完成。 2、对于难度或规模大的选题,可以在征得老师同意的情况下几个学生组成小组分 工合作完成,共同提交一份设计报告。设计报告中必须清楚的体现分工情况,注明各自
《数据结构课程设计》实验大纲[1]
![《数据结构课程设计》实验大纲[1]](https://img.taocdn.com/s3/m/3451162d3169a4517723a311.png)
《数据结构课程设计》课程实验大纲一、课程名称:数据结构课程设计二、课程性质:其他实践教学环节三、实验学时:36学时四、课程类型:独立设课五、课程适用专业:计算机科学技术专业、计算机科学与技术专业(实验班)、软件工程专业六、教学目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
七、实验教学项目表八、选题要求:在上面实验项目1、2、5中选一个小题做,在实验项目3、4中选择一个小题做,即一共需要完成两个小题。
九、课程设计报告要求:每个实验应该有相应的课程设计报告,包含如下内容:(1)问题描述及分析(2)功能模块及数据结构描述(3)主要算法流程描述(4)使用说明如何运行,如何输入测试数据,会出现的输出结果等,给出实例。
(5)实验及总结调试过程中遇到的主要问题有哪些?如何解决的。
有何结论?课程设计报告的格式要求1.字体设置要求为:(1)标题:黑体小四(2)正文内容:宋体小四号(3)表题与图题宋体五号(4)参考文献:宋体五号2.表格每个表格应有表序和表题,表序和表题应写在表格上方正中,表序后空一格书写表题。
3.插图插图必须精心制作,线条粗细要合适,图面要整洁美观。
每幅插图应有图序和图题,图序和图题应放在图位下方居中处。
4.各类参考文献的书写格式如下:连续出版物:[序号]作者.书名.刊名,年,卷号(期号):起~止页码专(译)著:[序号]作者.书名.(译者).出版地:出版者,出版年.起~止页码论文集:[序号]作者.文章名.文集名.会议地点,年.起~止页码学位论文:[序号]姓名.学位论文题目:[XX学位论文],授予单位所在地:授予单位,授予年十、课程设计成绩评定:准确评定成绩是课程设计的重点。
《数据结构》课程设计教学大纲

《数据结构》课程设计教学大纲第一篇:《数据结构》课程设计教学大纲《数据结构》课程设计教学大纲适用专业:计算机科学与技术课程周数:2周一、大纲说明本大纲根据计算机科学与技术专业人才培养方案制订。
(一)课程设计性质课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。
(二)主要先修课程和后续课程1.先修课程:《C语言程序设计》2.后续课程:《计算机组成原理》、《操作系统》、《数据库系统原理》二、课程设计目的及基本要求《数据结构》是一门实践性强的课程,其中对算法设计和程序编写的掌握尤为重要。
学生虽然可以通过与课堂教学同步的上机实验完成相关内容的练习,但却往往局限于一些功能简单、彼此之间关系独立的算法和程序。
课程设计是一种综合训练,致力于培养学生全面、灵活的算法设计思想和较高的编程能力,为今后从事计算机开发与应用打下基础。
新世纪需要具有丰富科学知识、独立解决实际问题、有创造能力的新型人才,这也是该课程设计的最终目的。
三、课程设计内容及安排1、矩阵的转置、加减和相乘问题描述:采用十字链表存储的稀疏矩阵,完成矩阵转置、加减和相乘功能。
要求:1)采用函数形式完成转置、相加、相减和相乘;2)有输入数据合法性检查; 3)矩阵的存储采用动态数组;4)两个矩阵产生后要分别打印出来,完成相应处理后结果要打印出来;5)每一个函数要有必要的注释,在课程设计论文中有流程图。
2、线索二叉树问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。
要求:1)各功能模块必须是单独的函数;2)线索二叉树是动态生存的;3)输入数据进行必要的合法性检查;4)执行每一个功能后,按二叉树广义表的表达方式打印输出,检查结果是否正确;5)每一个函数要有必要的注释,在课程设计论文中有流程图。
3、根据哈夫曼树的原理求n个自然数相加减后结果最小(中间结果、最后结果不能负)。
问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。
《数据结构》课程教学大纲_计算机专业.doc

《数据结构》课程教学大纲课程编号:806302024课程名称:数据结构英文名称:Data Structure课程类型:专业基础课总学时:72 讲课学时:56 实验学时:16学时:72学分:4.5适用对象:计算机科学与技术专业本科生先修课程:计算机导论、C/C++语言程序设计I、C/C++语言程序设计II、离散数学一、课程性质、目的和任务数据结构课程是计算机科学与技术专业本科学生必修的一门专业基础课程。
数据结构是软件设计的重要理论和实践基础,数据结构设计和算法设计是软件系统设计的核心。
数据结构课程的任务是,讨论数据的各神逻辑结构、在计算机中的存储结构以及各种操作的算法设计。
数据结构课程的主要H的是,培养学生掌握处理数据和编写高效率软件的基木方法,为学习后续专业课程以及进行软件开发打下坚实基础。
二、教学基本要求数据结构是理论与实践并重的课程,既要掌握数据结构的基础理论知识,掌握算法设计和分析方法,熟练运用一种程序设计语言编制具有中等难度的应用程序;也要掌握运行和调试程序的基木技能,在实践中培养独立分析问题和解决问题的作风和能力。
根据目前国内数据结构课程的发展趋势和我院计算机科学与技术专业的教学计划,本课程采用C++语言及面向对象程序设计方法描述数据结构和算法。
本课程教学的基本要求说明如下。
1.理解线性表、栈、队列、串、数组、树、二叉树、图等数据结构的基木概念,掌握它们的存储结构及各种操作的实现方法。
2.理解各种数据结构的杏找操作要求,掌握在线性表、二叉树中采用的查找算法及杏找效率分析方法。
掌握插入、交换、选择、归并等排序算法,掌握排序算法效率分析方法。
3.熟练运用C++语言及面I可对象程序设计方法描述各种抽象数据类型,表达它们的存储结构,实现在各存储结构上的各种操作。
熟练运用递归函数表达逆归定义、递归算法和递归结构。
4.掌握在Visual C++ 6.0集成开发环境中编辑、编译、运行和调试程序的方法,具备运行和调试程序的基本技能,能够发现程序错误、及肘找到错误所在并改正错误,重点和难占是运用单步运行、设置断点、查看变景运行时值等程序调试技术,发现并改正程序逻辑错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构课程设计》教学大纲课程名称:数据结构课程编号:408104 436104适用专业:计算机科学与技术软件工程总学分: 4总学时:72其中实验学时30主撰人:审核人:撰写日期:2012.6一、目的与任务《数据结构》是计算机软件的一门基础课程,计算机科学各领域及有关的应用软件都要用到各种类型的数据结构。
学好数据结构对掌握实际编程能力是很有帮助的。
为了学好《数据结构》,必须编写一些在特定数据结构上的算法,通过上机调试,才能更好地掌握各种数据结构及其特点,同时提高解决计算机应用实际问题的能力。
二、教学基本要求1.设计和调试过程要规范化需求分析:将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法。
②源程序(可以是一组源程序,即详细设计部分)源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。
尽量避免出现操作错误时出现死循环。
2.课程设计实习报告的书写格式①设计题目②运行环境(软、硬件环境)③算法设计的思想④算法的流程图⑤算法设计分析⑥源代码⑦运行结果分析⑧收获及体会3.实施方式可设3-4人一题,安排在《数据结构》课程开课学期布置题目,然后在期末两周时间内完成。
4.答辩:课题的论述、测试及问题回答三、课程设计内容1、背包问题的求解:假设有一个能装入总体积为T的背包和n件体积分别为w1 , w2 , … , wn 的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1 +w2 + … + wn=T,要求找出所有满足上述条件的解。
例如:当T=10,各件物品的体积{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2),(1,4,5),(8,2),(3,5,2)。
提示:可利用回溯法的设计思想来解决背包问题。
首先将物品排成一列,然后顺序选取物品装入背包,假设已选取了前i 件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品"太大"不能装入,则弃之而继续选取下一件,直至背包装满为止。
但如果在剩余的物品中找不到合适的物品以填满背包,则说明"刚刚"装入背包的那件物品"不合适",应将它取出"弃之一边",继续再从"它之后"的物品中选取,如此重复,直至求得满足条件的解,或者无解。
由于回溯求解的规则规则是"后进先出"因此自然要用到栈。
2、订票系统(1)问题描述通过此系统可以实现如下功能:1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;4)退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
5)修改航班信息:当航班信息改变可以修改航班数据文件(2)要求根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;3、迷宫求解(1)问题描述可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;(2)要求在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;4、dijkstra算法求最短路径问题描述:从键盘上输入一个图的基本信息(图用邻矩阵表示)1)首先输入图的结点数->num2)依次输入图的各条边3)程序所能达到的功能:输出用dijkstra算法求出的一条最短路径。
5、 joseph环(1)问题描述编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。
设计一个程序来求出出列顺序。
(2)要求利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。
(3)测试数据:m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?(4)输入数据:建立输入处理输入数据,输入m的初值,n ,输入每个人的密码,建立单循环链表。
(5)输出形式:建立一个输出函数,将正确的输出序列6、建立二叉树,层序、先序遍历(用递归或非递归的方法都可以)(1)问题描述:建立二叉树,并实行层序、先序遍历等算法(2)要求:能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数;7、赫夫曼树的建立(1)问题描述:建立建立最优二叉树函数(2)要求:可以建立函数输入二叉树,并输出其赫夫曼树在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、输入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;8、图的建立及输出(1)问题描述:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型)(2)要求:能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。
9、拓扑排序(1)问题描述:编写函数实现图的拓扑排序。
(2)要求:能够以一定的方式输入数据结点10、各种排序(1)问题描述:对30000个随机整数,利用插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。
(2)要求:输入的数据形式为任何一个正整数,大小不限。
输出的形式:数字大小逐个递增的数列11、图的遍历对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、判队空)实现图的广度优先搜索周游。
12、线性表的操作利用链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。
13、长整数四则运算*问题描述:设计一个实现任意长的整数进行加法运算的演示程序。
*基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。
任何整形变量的范围是 -(2^15 - 1) (2^15 - 1)。
输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。
*测试数据:(1)0;0;应输出“0”。
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
(3)-9999,9999;1,0000,0000,0000;应输出“999(4)1,0001,0001;-1,0001,0001;应输出“0”。
(5)1,0001,0001;-1,0001,0000;应输出“1”。
(6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。
(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。
*实现提示:(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。
(2)可以利用头结点数据域的符号代表长整数的符号。
用其绝对值表示元素结点数目。
相加过程中不要破坏两个操作数链表。
两操作数的头指针存于指针数组中是简化程序结构的一种方法。
不能给长整数位数规定上限。
14、克鲁斯尔算法求最小生成树问题描述:从键盘上输入一个图的基本信息(图用邻矩阵表示)1)首先输入图的结点数->num2)依次输入图的各条边3)程序所能达到的功能:能够输出这个图的一棵最小生成树15、算术表达式求值演示(1)问题描述:表达式求值是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。
设计一个程序,演示用算符优先法对算术表达式求值的过程。
(2)基本要求:以字符序列的形式从终端上输入语法正确的、不含变量的整数表达式。
利用教材中给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教材例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。
16.稀疏矩阵运算器*问题描述:稀疏矩阵是指那些多数元素为0的矩阵。
利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。
实现一个能进行稀疏矩阵基本原酸的运算器。
*基本要求:以“带行逻辑链接信息”的三元组顺序表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算。
稀疏矩阵的输入形式采用三元组表示,而运算结构的矩阵则以通常的阵列形式列出。
*实现提示:(1)首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否匹配。
可设矩阵的行数和列数均不超过20。
(2)程序可以对三元组的输入顺序加以限制,例如,按行优先。
注意研究教科书中的算法,以便提高计算效率。
(3)在用三元组表示稀疏矩阵时,相加或相减所得结果矩阵应该另生成,乘积矩阵也可以用二维数组存放。
四、时间安排《数据结构课程设计》安排在第三学期进行,时间2周(17-18周)。
五、组织管理1.由院、系指派经验丰富的专业教师担任指导教师。
2.课程设计实行指导教师负责制,由指导教师全面负责课程设计的指导与管理工作。
六、成绩考核与评定学生课程设计结束后写出总结报告,对设计的内容和效果进行总结,按照学生在设计期间的表现,指导老师对每位学生写出评语和鉴定,系课程设计领导小组组织答辩,最后确定每位学生课程设计成绩,课程设计成绩分为优、良、中、及格和不及格五个等级。
课程设计成绩为平时表现30%、设计报告50%、答辩20%。
评分标准:①优秀:目的明确,态度端正,模范遵守学校的各项纪律。