数据结构课程设计教学大纲2010级

合集下载

10级计科数据结构课程设计教学大纲

10级计科数据结构课程设计教学大纲

《数据结构课程设计》教学大纲课程编号:课程中文名称:数据结构课程设计课程英文名称:Course Design of Data Structure课程类别:实践教学周数:2学分:2适用专业:计算机科学与技术一、课程设计的性质、目的对学生数据结构知识的全面综合训练,把书上学到的知识用于解决实际问题、培养今后软件开发工作所需的动手实践能力,包括问题分析、总体结构设计,用户界面的设计、程序设计时的基本技能和技巧,以及一整套软件工作规范的训练和团体协作精神的培养。

二、课程设计基本要求(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

三、课程设计教学内容根据教材《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,或选择下列与实际应用紧密结合的较综合性的题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。

以下列出一些可供选择的题目:1.一元多项式的运算设计要求:计算任意两个一元多项式的加法、减法以及乘法。

2.算术表达式求值设计要求:将任意一个算术表达式转化为逆波兰表示,并根据逆波兰表示计算表达式的值。

3.舞伴问题假定在一舞会上,男士排成一队,女士排成一队。

跳舞开始时,依次从男队和女队的队头各出一人配成舞伴。

若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。

设计要求:模拟上述舞伴系统,并能计算对于任何男士A和女士B在哪一轮舞曲中的k 次跳舞?4.集合的等价划分设计要求:对于任何一个集合及其上的一个等价关系(要验证此关系的等价性),给出该集合的等价划分。

《数据结构》课程教学大纲(卓越班)

《数据结构》课程教学大纲(卓越班)

课程编号:()《数据结构》课程教学大纲(Date Structure)总学时:(64)学分:(3)一、课程简介:1、课程性质:专业基础课2、开课学期:第三学期3、适用专业:电子信息工程卓越班4、课程修读条件:学生在学习本课程之前应当先学《C语言程序设计》,若具有离散数学和概率论的知识则能更好理解本课程中的某些内容。

5、课程教学目的:本课程是关于数据结构知识的一门课程,为我院电子信息工程本科专业卓越班方向专业基础课。

通过本课程的学习,使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,并初步掌握算法的时间分析和空间分析的技术,培养学生的数据抽象能力,引导学生数据类型的使用,为今后学习程序设计、嵌入式系统、设备驱动开发等作一些铺垫。

二、教学基本要求或建议:全程以多媒体教学为主,理论联系实际应用,通过实验来理解理论知识。

三、内容纲目及标准:(一)理论部分学时数(48)第一章绪论[教学目的] 掌握数据、数据结构和算法的基本概念;了解算法的描述;掌握算法的时间和空间分析。

[教学重点与难点]算法分析第一节引言第二节基本概念和术语第三节算法描述第四节算法分析第二章线性表[教学目的] 掌握线性表的逻辑结构;了解线性表的基本操作和顺序存储结构;掌握插入、删除和定位等操作在顺序表上的实现,掌握线性表的链式存储结构。

[教学重点与难点] 基本操作在顺序表上的实现,单、双链表第一节线性表及其逻辑结构第二节线性表的顺序存储结构第三节线性表的链式存储结构第四节线性表的应用第五节有序表第三章栈和队列[教学目的] 了解栈和队列的概念;掌握栈和队列的存储结构。

[教学重点与难点]栈和队列的存储结构第一节栈第二节队列第四章串[教学目的] 掌握串的基本操作;了解串的存储结构。

[教学重点与难点]串的模式匹配第一节串的基本概念第二节串的存储结构第三节串的模式匹配第五章递归[教学目的] 掌握递归的概念和实现原理;了解递归算法的设计。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲一、课程简介《数据结构》是计算机科学与技术相关专业的基础课程之一。

本课程旨在通过理论与实践相结合的方式,培养学生具备良好的数据结构基础、灵活运用和设计数据结构的能力,并通过算法分析、问题求解等方式培养学生的编程思维和创新能力。

二、教学目标1. 理解数据结构的基本概念和原理,包括栈、队列、链表、树、图等基本数据结构的应用场景与实现。

2. 掌握数据结构的基本算法与操作,包括插入、删除、查找、排序等常用操作的实现与分析。

3. 培养学生良好的编程实践能力,能够灵活运用不同的数据结构解决实际问题。

4. 培养学生团队合作精神和沟通能力,能够与他人合作设计和实现复杂的数据结构与算法。

三、教学内容1. 数据结构基础1.1 数据结构与算法的关系1.2 抽象数据类型与数据结构1.3 算法复杂度与评估方法2. 线性结构2.1 线性表的基本概念与实现2.2 栈与队列的定义与应用2.3 数组与链表的对比与选择3. 树形结构3.1 树的基本概念与性质3.2 二叉树的存储与遍历3.3 二叉搜索树与平衡树的应用4. 图结构4.1 图的基本概念与表示方法4.2 图的遍历与连通性算法4.3 最短路径与最小生成树算法5. 排序与查找5.1 常用排序算法的实现与性能分析 5.2 二分查找算法与应用5.3 哈希表的概念与应用四、教学方法1. 理论讲解:通过授课方式向学生讲解数据结构的基本概念、原理和算法分析方法。

2. 实验实践:通过编写程序实践,巩固和加深学生对数据结构的理解与应用能力。

3. 课堂讨论:鼓励学生在课堂上提问和讨论问题,促进学生思维的活跃和沟通能力的培养。

4. 课程设计:结合实际案例,进行小组项目设计,培养学生团队合作和创新能力。

五、教学评价与考核1. 平时成绩:包括课堂讨论与实验成绩,在课堂上主动提问、积极参与实验的学生将获得较高成绩。

2. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。

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

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

数据结构课程教学大纲(DataStructure)学时数:72其中:实验学时:10课外学时:0学分数:4.5适用专业:网络工程一、课程的性质、目的和任务数据结构是计算机、网络工程专业的必修学科基础课程,主要介绍:线性表、栈、队列、数组、串、树、二叉树、图等基本数据结构及其应用;排序及查找的原理与方法;数据的存储结构。

通过本课程的学习使学生掌握基本数据结构的概念、特征、存贮结构及算法和算法分析的手段。

熟悉基本结构在计算机学科的应用,,训练学习使用高级语言编写合理算法的能力。

二、课程教学的基本要求(一)了解典型数据结构的逻辑关系,存贮结构,操作及算法的关系。

(二)熟练掌握各种基本数据结构的概念、特点、存贮方式、算法及分析评估。

(H)掌握基本算法分析方法。

(四)熟悉查找及排序的典型算法。

(五)针对实际问题,选择合理的数据结构及实现相应的操作。

三、课程的教学内容、重点和难点第一章概论(2学时)一、基本内容:(一)数据、数据元类、数据类型、数据结构。

(二)算法与数据结构的关系。

(H)算法的描述,评价标准及评估。

第一节:基本概念和术语第二节:抽象数据类型第三节:算法分析第四节:性能分析与度量二、基本要求:(一)熟悉数据结构基本概念第二章线性表(8学时)一、基本内容:(一)线性表的定义及抽象操作。

(二)线性表的两种存贮结构及算法。

(H )链表的应用举例。

线性表线性表的顺序表示与实现线性表的链式表示与实现链表一元多项式的表示与实现 二、基本要求:(一)掌握线性表的基本概念(二)掌握线性表的各种算法重点:线性表的基本操作。

难点:线性表的抽象操作,链表应用。

第三章栈和队列(8学时)一、基本内容:(一)队列、栈的定义及抽象操作。

(二)队列、栈的顺序存贮结构及相关算法。

(三)队列、栈的链式存贮结构及相关算法。

(四)多队列、栈的顺序存贮。

(五)栈的应用举例、栈与递归过程的关系。

第一节:栈第二节:队列 第三节:栈与队列的实现第四节:栈与队列的应用举例二、基本要求:(•)掌握队列、栈的基本概念(二)掌握队列、栈的各种算法(三)熟悉队列、栈的各种应用重点:队列、栈的各种算法。

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

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

块的算法思路,相应流
程图的绘制。
要求学生在下周上课
前完成:
1、完成实验报告“算 投影
4 法说明”部分。下次上
计算机 课一开始就提交!
2、准备资料,开始编
写代码。
编写代码: 学生依自身情况,确定本周要完成哪
些模块的代码编写,以及测试。 四 注意:不要等到所有代码写完了,一
起测试,那样很难确定问题所在。应 局部调试通过,再逐渐加入,最终联 调。
5、凡照抄、照搬者,无论来自同学、图书、网上资源,一律视其严重程度扣分。 较严重者不及格,代码和设计报告雷同者记零分。
七、推荐教材和教学参考书
教材:
《数据结构教程(第 5 版)上机实验指导》李春葆,清华大学出版社,2017 年 8 月第 1 版.
《数据结构课程设计(第 2 版)》苏仕华.北京:机械工业出版社,2010.
完成了哪些部分,按贡献大小给出排名。 3、鼓励同学之间的讨论和相互启发,但也仅限于启发思路和解决局部疑难问题的
作用,绝不允许照抄、照搬同学的代码和设计报告。 4、参考资料包括各种图书,网上资源。课程设计离不开参考资料,但是对参考资
料的使用是在阅读理解的基础上加以借鉴,仅限于启发思路和解决局部疑难问题的作 用,绝不允许照抄、照搬的行为。
可得该部分满分的 80%
可得该部分满分的 10%
可得该部分满分的 10%
可得该部分满分的 60%
可得该部分满分的 25%
可得该部分满分的 15%
(三)参考资料的使用与抄袭行为的处罚
1、对于要求独立完成的题目必须独立完成。 2、对于难度或规模大的选题,可以在征得老师同意的情况下几个学生组成小组分 工合作完成,共同提交一份设计报告。设计报告中必须清楚的体现分工情况,注明各自

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

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

《数据结构》课程教学大纲一、课程概述数据结构是计算机科学与技术专业的重要基础课程之一。

本课程旨在介绍数据结构的基本概念、常用数据结构及其应用。

通过本课程的学习,学生应具备设计和实现基本数据结构的能力,能够分析并解决实际问题中的数据组织与处理需求。

二、教学目标1. 掌握数据结构的基本概念和分类。

2. 理解不同数据结构的特点、存储结构和操作方式。

3. 能够应用各类数据结构解决实际问题,并分析其性能。

4. 具备编写高质量代码的能力,考虑代码的可读性和可维护性。

5. 培养团队合作意识和解决问题的能力。

三、教学内容1. 数据结构基础1.1 数据结构的定义和作用1.2 数据结构的分类及常用术语1.3 数据结构的表示与实现方式2. 线性结构2.1 线性结构的概念和特点2.2 线性表的顺序存储结构和链式存储结构2.3 线性表的基本操作(插入、删除、查找)2.4 栈和队列的定义、基本操作以及应用3. 非线性结构3.1 树形结构的概念和特点3.2 二叉树及其存储结构(顺序存储和链式存储)3.3 二叉树的遍历(先序、中序、后序)3.4 树与森林的转换和应用4. 图结构4.1 图的定义和基本术语4.2 图的存储结构(邻接矩阵和邻接表)4.3 图的遍历(深度优先搜索和广度优先搜索)4.4 最小生成树和最短路径算法5. 查找算法5.1 查找的基本概念和分类5.2 顺序查找算法5.3 二分查找算法5.4 哈希查找算法6. 排序算法6.1 排序的基本概念和分类6.2 内部排序算法(插入排序、冒泡排序、选择排序、快速排序、归并排序)6.3 外部排序算法四、教学方法1. 集中讲述与课堂演示相结合的教学方法。

2. 利用多媒体技术展示数据结构的基本概念、实例和操作过程。

3. 提供编程实践的机会,让学生独立设计和实现各类数据结构。

4. 组织小组讨论和团队合作,解决数据结构相关问题。

五、考核方式1. 平时成绩包括课堂表现、作业、实验和参与度。

《数据结构》教学大纲

《数据结构》教学大纲

《数据结构》教学大纲数据结构教学大纲一、课程介绍1.1课程名称:数据结构1.2学分:3学分1.3先修课程:计算机基础1.4课程性质:必修课程1.5学习方式:课堂讲授、实践操作、实验、课程作业二、教学目标2.1知识目标通过本课程的学习,学生应该掌握以下知识:-基本数据结构的概念和特性,包括数组、链表、栈、队列、树和图等;-常用的数据结构算法,如查找、排序、插入和删除等;-理解数据结构的时间复杂度和空间复杂度,并能进行分析和评估;-能够选择合适的数据结构和算法来解决实际问题。

2.2能力目标-能够运用所学的数据结构和算法解决实际问题;-能够分析和评估不同数据结构和算法的优劣;-具备良好的编程能力,能够实现数据结构的基本操作;-能够进行抽象思维和问题建模,将实际问题转化为数据结构的操作。

2.3态度目标-具备良好的团队合作和沟通能力,能够与他人合作解决问题;-具备批判性思维和创新精神,能够提出新的数据结构和算法。

三、教学内容3.1数据结构概述-数据结构的定义和分类;-数据结构与算法的关系;-数据结构的应用领域。

3.2线性表-线性表的定义和基本操作;-顺序表和链表的实现;-线性表的应用。

3.3栈和队列-栈和队列的定义和基本操作;-栈和队列的实现;-栈和队列的应用。

3.4树和二叉树-树和二叉树的定义和基本操作;-二叉树的遍历和线索化;-树和二叉树的应用。

3.5图-图的定义和基本操作;-图的存储结构和遍历算法;-图的应用。

3.6查找和排序-查找算法的分类和基本思想;-顺序查找和二分查找;-排序算法的分类和基本思想;-冒泡排序、插入排序和快速排序。

四、教学方法4.1讲授法:通过课堂讲授,向学生介绍数据结构的概念、特性和应用,讲解基本操作和算法的原理和实现方法。

4.2实践操作:通过编程实践和课程作业,让学生运用所学的数据结构和算法解决实际问题,加深对知识的理解和运用能力。

4.3实验:通过实验,让学生亲自操作和实验不同的数据结构,加深对数据结构和算法的理解。

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

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

《数据结构课程设计》课程教学大纲注:课程类别是指学科基础课/专业课/实践环节/通识公共课/公共基础课/其他;课程性质是指通识必修/通识选修/学科必修/专业必修/专业选修/实践必修/实践选修。

一、课程目标本课程是与《数据结构》相配套的实践环节。

课程通过设计并编程实现各种数据结构的基本操作、存储,以及选用算法的时间复杂度等,进一步加深理解所学理论课的内容。

通过本课程设计,使学生对数据结构的逻辑特性和物理存储;数据结构的选择和应用;算法设计及其实现等内容加深理解;学会根据实际问题选用和设计数据结构,使理论与实践相结合。

同时使学生在程序设计方法、上机操作等基本技能及科学作风方面受到比较系统和严格的训练。

课程目标:1.能够根据具体的问题,选用合适的数据结构设计解决方案,并编程实现;2.具备对实验结果进行分析与解释并推导出有效结论的能力;3.学生在项目上机验收、撰写设计文档及课程设计报告时能清楚分析并阐述其设计思路的合理性及正确性;4.通过数据结构课程实践练习,使学生了解中国在数据库、大数据平台、数据结构算法创新与实践,数据处理规模、吞吐率、系统可靠性等方面取得的成就。

二、课程目标与教学内容和方法的对应关系教学内容对课程目标的支撑关系、教学方法如表1所示:表1教学目标与教学内容、教学方法的对应关系教学内容教学方法课程目标课程英文名Course Design for Data Structure 课程代码S050095G课程类别实践环节课程性质实践必修学分2总学时数32开课学院计算机学院开课基层教学组织国际化课程组面向专业计算机科学与技术(国际教育学院)(全英文)、软件工程(国际教育学院)(全英文)开课学期3教学内容教学方法课程目标1.线性结构:(1)约瑟夫环课堂讲授、自学、案例分析、1,2,3课堂互动、调研报告1.线性结构:(2)集合交并差课堂讲授、实践2,32.栈和队列:停车场管理课堂讲授、实践2,3,43.树形结构:哈夫曼树及编码的实现课堂讲授、自学、实践2,3,44.图形结构:校园周游课堂讲授、实践2,3,4本课程设计全部由学生自主完成,教师以答疑方式给予帮助。

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

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

《数据结构》课程设计教学大纲第一篇:《数据结构》课程设计教学大纲《数据结构》课程设计教学大纲适用专业:计算机科学与技术课程周数:2周一、大纲说明本大纲根据计算机科学与技术专业人才培养方案制订。

(一)课程设计性质课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。

(二)主要先修课程和后续课程1.先修课程:《C语言程序设计》2.后续课程:《计算机组成原理》、《操作系统》、《数据库系统原理》二、课程设计目的及基本要求《数据结构》是一门实践性强的课程,其中对算法设计和程序编写的掌握尤为重要。

学生虽然可以通过与课堂教学同步的上机实验完成相关内容的练习,但却往往局限于一些功能简单、彼此之间关系独立的算法和程序。

课程设计是一种综合训练,致力于培养学生全面、灵活的算法设计思想和较高的编程能力,为今后从事计算机开发与应用打下基础。

新世纪需要具有丰富科学知识、独立解决实际问题、有创造能力的新型人才,这也是该课程设计的最终目的。

三、课程设计内容及安排1、矩阵的转置、加减和相乘问题描述:采用十字链表存储的稀疏矩阵,完成矩阵转置、加减和相乘功能。

要求:1)采用函数形式完成转置、相加、相减和相乘;2)有输入数据合法性检查; 3)矩阵的存储采用动态数组;4)两个矩阵产生后要分别打印出来,完成相应处理后结果要打印出来;5)每一个函数要有必要的注释,在课程设计论文中有流程图。

2、线索二叉树问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。

要求:1)各功能模块必须是单独的函数;2)线索二叉树是动态生存的;3)输入数据进行必要的合法性检查;4)执行每一个功能后,按二叉树广义表的表达方式打印输出,检查结果是否正确;5)每一个函数要有必要的注释,在课程设计论文中有流程图。

3、根据哈夫曼树的原理求n个自然数相加减后结果最小(中间结果、最后结果不能负)。

问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。

2010版030531005数据结构教学大纲-56

2010版030531005数据结构教学大纲-56

《数据结构》课程教学大纲课程代码:030531005课程英文名称:Data Struct课程总学时:56 讲课:48 实验:8 上机:适用专业:计算机科学与技术大纲编写(修订)时间:2010.7一、大纲使用说明(一)课程的地位及教学目标数据结构课程是计算机及信息相关专业的一门重要的专业基础课,它较详细地阐述了使用计算机解决具体问题时所建立的数学模型的逻辑结构与存储结构的多种类型以及对数据具体进行操作的算法实现。

通过本课程的学习,使学生掌握使用高级语言编程时组织数据的基本理论和方法,是学生进一步学习其他专业课程的必备基础。

通过本课程的学习,学生将达到以下要求:1.掌握数据结构的种类及其特点;2.掌握不同数据结构的不同存储结构的定义;3.具有在不同存储结构上编写各种操作算法的能力;4.运用数据结构知识处理实际问题。

(二)知识、能力及技能方面的基本要求1.知识:掌握几种典型数据结构及其逻辑结构、物理结构、基本操作实现。

2.能力:要求学生了解各种形式多样的客观问题中所涉及的数据对象,通过适当的分析,得到数据的逻辑结构、物理结构。

提高数据的分析能力、数据结构的物理结构的定义能力、编写算法的能力、算法的分析能力等。

3.技能:运用不同的数据结构在不同的存储结构上解决实际问题的技能,能运用高级语言正确定义数据的逻辑结构和选择有效的存储结构。

在解决具体问题时,充分考虑其操作的实现算法应注重时间效率和空间效率。

对查找与排序技术,应掌握基本的算法,并学会合理使用。

(三)实施说明1.教学方法:课堂讲授中要重点对基本概念、基本方法和解题思路的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;注意培养学生提高利用标准、规范及手册等技术资料的能力。

讲课要联系实际并注重培养学生的创新能力。

2.教学手段:本课程属于专业基础课,在教学中采用电子教案、CAI课件及多媒体教学系统等先进教学手段,以确保在有限的学时内,全面、高质量地完成课程教学任务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构与算法》课程设计
任务与指导书
绍兴文理学院元培学院信电系
2012年2月
《数据结构与算法》课程设计教学大纲
时间:1周(不停课) 1学分
一、教学目的
《数据结构与算法》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

通过课程设计的锻炼使学生进一步加强对所学知识的理解和掌握,培养学生利用各种数据结构(如线性表、栈、队列、数和图)分析问题、解决问题的能力,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

具体目的:
1、培养学生正确的设计思想,理论联系实际的工作作风,严肃认真、实事求是的科学态度和勇于探索的创新精神。

2、培养学生综合运用所学知识与生产实践经验,分析和解决工程技术问题的能力。

3、通过课程设计实践,训练并提高学生在理论计算、结构设计、查阅设计资料、运用标准与规范、编制软件和应用计算机等方面的能力。

二、教学要求
课程设计不同于一般上机试验,强调设计性和综合性,难度和分量较大。

通过课程设计,加强学生基本功训练。

要求在数据结构的逻辑特性和物理表示,数据结构的选择的应用、算法的设计及其实现等方面中加深对课程基本内容的理解,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

三、教学内容
参考课题:(可任选一题)
设计1、一元多项式的运算(加减法运算)
主要涉及的知识与技能有:采用链表存储结构来处理多项式的运算,使用两个线性链表分别表示两个一元多项式,每个结点表示多项式的一项。

能够按照指数降序排列建立并输出多项式,能够完成两个一元多项式加减运算。

设计2、通讯录管理系统
主要涉及的知识与技能有:线性表的使用,要求使用通讯录链表的有关操作(建立、插入、删除、查询、输出)来实现通讯录信息系统的管理。

设计3、算术表达式的转换及求值
主要涉及的知识与技能有:堆栈的应用,要求对包含+、-、*、/、括号运算符的任意表达式进行求解。

对中序输入串转换为后缀表达式(逆波兰式),计算后缀表达式的值,输出计算结果及转换后的串。

设计4、迷宫问题
主要涉及的知识与技能有:线性表、栈、回溯算法、搜索技术及应用。

用递归或递归两种方法
求出一条走出迷宫的路径,并将路径输出。

设计5、求二叉树上结点的路径
主要涉及的知识与技能有:在采用链式存储结构的二叉树上,bt指向根结点,p指向任一给定结点,编程实现求出从根结点到给定结点之间的路径,要求实现二叉树的建立、遍历和求结点路径。

设计6、排序算法的比较与分析
主要涉及的知识与技能有:是一个算法性能评价程序,重点在于算法性能的评价上。

对于直接插入排序、直接选择排序、冒泡排序、shell排序、快速排序和堆排序六种算法进行上机实习,数据长度分别取20、100、500三种,算法中增加比较次数和移动次数的统计功能,对结果做比较分析。

设计7、构造n个城市连接的最小生成树
主要涉及的知识与技能有:一个地区的n个城市间的距离网,采用prim算法或kruskal算法求最小代价生成树,并计算得到的代价MST。

要求至少6个城市、10条边。

设计8、学生成绩查询系统
主要涉及的知识与技能有:线性表的顺序查找、二分查找、二叉排序树。

功能:(1)按学号进行顺序查找;(2)按学号排序后对学号进行二分查找;(3)随机输入以学号为关键字的学生信息并构建二叉排序树,对学号进行二叉排序树查找。

设计9、交通咨询系统设计(最短路径问题)
主要涉及的知识与技能有:图、含权图、最短路径、图的存储与邻接表、最优路线求解及应用。

求一个城市到所以城市的最短路径、求任意的两个城市之间的最短路径。

测试数据
设计10、学校超市选址问题
主要涉及的知识与技能有:带权有向图。

设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。

请为超市选址,要求实现总体最优。

设计11、模拟舞伴配对问题
主要涉及的知识与技能有:队列的应用。

利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。

舞会开始时。

依次从男队和女队的队头各出一人配成舞伴。

如果两队初始人数不等,
则较长的那一队中未配对者等待下一轮舞曲。

设计12、马踏棋盘
主要涉及的知识与技能有:线性表、栈、回溯算法。

将马随机放在国际象棋的8×8棋盘Board[8][8]的某个方格中,马按走棋规则进行移动。

要求每个方格只进一次,走遍棋盘上全部64个方格。

编制程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个8×8的方阵,输出。

四、配套的主要仪器设备及台(套)数
1、PC机80台
2、Windows XP操作系统
3、Visual C++6.0
五、内容、要求与时间安排
课程设计的一般步骤:
1、选题与搜集资料。

2、分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。

3、程序设计:运用掌握的C/C++语言编写程序,实现程序的各个模块功能。

4、调试与测试:调试程序,并记录测试情况。

5、完成课程设计报告。

6、验收与于答辩:指导教师对每个同学的开发的系统进行综合验收、答辩。

课程设计报告的规范:
课程设计报告要求规范书写,应当包括如下8个部分:
1、需求分析、基本要求:描述要求编程解决的问题,给出程序要达到的具体的要求。

2、算法思想:描述解决相应问题算法的设计思想。

3、模块划分:描述所设计程序的各个模块(即函数)功能。

4、概要设计:给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。

5、详细设计:主要函数的核心代码,要求程序有充分的注释语句。

6、测试数据:设计测试数据,或具体给出测试数据。

要求测试数据能全面地测试所设计程序的功能。

7、总结分析。

8、程序清单。

六、考核办法(待定)
《数据结构》课程设计的最后成绩有以下几个方面组成:
1、准备情况。

(10%)
2、上机实验:出勤情况,学生的动手能力,创新精神,数据结构的合理性,程序运行情况,
算法的可读性,课程设计过程进展检查情况,独立完成情况(不允许雷同),以及其它因素。

(50%)
3、答辩(20%)
4、课程设计报告:规范情况,总结。

(20%)
成绩分优、良、中、及格和不及格五等。

说明:
1.凡未按要求或不能按时完成者不能评定为及格。

2.未交设计报告者,以不及格评定。

3.与他人雷同或抄写复制他人程序,以不及格评定。

4.经答辩及补答辩而未达到要求者,以不及格评定。

执笔人:董卫萍 2012年2月。

相关文档
最新文档