《数据结构与算法》教学大纲

合集下载

算法与数据结构 教学大纲

算法与数据结构  教学大纲

教学大纲1 教学目的一些著名的计算机科学家在有关计算机科学教育的论述中认为,计算机科学是一种创造性思维活动,其教育必须面向设计。

算法与数据结构正是一门面向设计,且处于计算机学科核心地位的教育课程。

通过对算法与数据结构的系统学习与研究,理解和掌握算法设计的主要方法,培养对算法的计算复杂性进行正确分析的能力,为独立地设计算法和对给定算法进行复杂性分析奠定坚实的理论基础,对从事计算机系统结构、系统软件和应用软件研究与开发的科技工作者是非常重要和必不可少的。

计算机科学与技术专业的人员应该具有4种基本的专业能力:计算思维能力,算法设计与分析能力,程序设计和实现能力,计算机软硬件系统的认知,分析,设计与应用能力。

本课程着重于培养学生的算法设计与分析能力,程序设计和实现能力。

2 教学内容的结构模块以教育部计算机科学与技术教学指导委员会发布的“高等学校计算机科学与技术本科专业规范”为依据,以基本数据结构为知识单元,包括引论、表、栈、队列、排序与选择、树、图、集合、符号表、字典、优先队列、并查集共十二章节。

2.1 课堂教学大纲(共计52学时)第1章引论(4学时)知识点:本章介绍算法的基本概念、表达算法的抽象机制以及算法的计算复杂性概念和分析方法。

简要阐述数据类型、数据结构和抽象数据类型的基本概念以及这3个重要概念的区别和内在联系。

最后简要概述C语言的若干重要特性和采用C与自然语言相结合的方式描述算法的方法。

本章内容是后续各章叙述算法和描述数据结构的基础和准备。

重点:• 理解算法的概念。

• 理解什么是程序,程序与算法的区别和内在联系。

• 能够列举求解问题的基本步骤。

• 掌握算法在最坏情况、最好情况和平均情况下的计算复杂性概念。

• 掌握算法复杂性的渐近性态的数学表述。

• 了解表达算法的抽象机制。

• 熟悉抽象数据类型的基本概念。

• 熟悉数据类型和数据结构的概念。

• 理解数据结构、数据类型和抽象数据类型三者的区别和联系。

《数据结构与算法》课程教学大纲(计

《数据结构与算法》课程教学大纲(计

《数据结构与算法》课程教学大纲(Data Structures & Algorithms)一、基本信息课程编号:E1132107课程类别:学科基础必修课适用层次:本科适用专业:计算机科学与技术、网络工程、软件工程开课学期:3总学分:4.5总学时:72学时(理论课54学时,实验课18学时)考核方式:考试二、课程教育目标《数据结构与算法》是计算机学科基础的一门核心课程,它对提高学生的程序设计和算法设计与分析能力具有十分重要的作用。

通过本门课程的学习,使学生学会合理地组织数据、有效地表示数据和有效地处理数据,培养和训练学生能够根据实际问题的要求选择和设计合适的数据结构,编写质量高、风格好的应用程序,并具有初步的算法设计分析能力。

三、教学内容与要求1.理论课教学内容1)绪论主要包括:数据、数据元素、数据对象、数据结构、数据类型、抽象数据类型;算法、算法描述与算法分析。

基本要求:了解数据结构的重要性;了解算法分析的重要性;理解数据结构与算法的关系;掌握数据结构的基本概念和抽象数据类型。

2)线性表主要包括:线性表的(逻辑)定义与基本运算;线性表的顺序存储结构及基本运算的实现;线性表的链式存储结构(单链表、循环链表、双向链表)及其基本运算;一元多项式的表示及简单运算。

基本要求:掌握一般线性表的特点、存储表示、相应算法和实现方法及其典型应用。

并初步掌握基本算法分析技术。

3)栈和队列主要包括:栈和队列的结构特性、基本操作及其在顺序存储结构和链式存储结构上基本操作的实现;栈和队列的应用、递归算法的设计。

基本要求:掌握栈和队列的特点、存储表示、相应算法和实现方法及其典型应用。

4)字符串主要内容:字符串的定义、基本运算、存储结构、匹配算法及其应用。

基本要求:掌握字符串的的特点、存储表示、相应算法和实现方法及其典型应用。

5)数组和广义表主要内容:数组的定义、运算、存储结构、特殊矩阵及稀疏矩阵的压缩存储。

广义表的逻辑结构和存储结构以及广义表的遍历。

算法与数据结构大纲

算法与数据结构大纲

算法与数据结构大纲一、课程简介算法与数据结构是计算机科学中的核心基础课程,旨在介绍算法设计和数据结构的基本概念、原理和方法,培养学生的算法思维和问题解决能力。

二、教学目标1. 了解算法与数据结构的基本概念和原理;2. 掌握常见的数据结构及其操作;3. 学习常见的算法设计策略和分析方法;4. 能够运用所学知识解决实际问题。

三、教学内容1. 算法基础- 算法的概念和特征- 算法的表示方法- 算法的分析:时间复杂度和空间复杂度2. 数据结构基础- 数据结构的概念和分类- 抽象数据类型- 数据结构的操作和实现3. 线性结构- 数组- 链表- 栈和队列4. 树状结构- 树的概念和基本操作- 二叉树- 二叉搜索树- 平衡二叉树5. 图状结构- 图的概念和基本操作- 图的存储和表示- 图的遍历6. 排序算法- 插入排序- 选择排序- 冒泡排序- 快速排序- 归并排序7. 查找算法- 顺序查找- 二分查找- 哈希查找8. 算法设计策略- 分治法- 动态规划法- 回溯法- 贪心算法四、教学方法1. 理论讲解:通过课堂讲解,介绍算法与数据结构的基本概念、原理和方法;2. 编程实践:通过编程练习,让学生掌握数据结构的实现和算法的应用;3. 案例分析:通过实际问题的解决,让学生学会运用所学知识解决实际问题;4. 小组讨论:通过小组讨论,培养学生的团队合作和问题解决能力。

五、考核方式1. 平时作业:包括课后作业、编程练习和课堂表现等;2. 期中考试:考核学生对前半部分教学内容的掌握程度;3. 期末考试:考核学生对整个课程内容的掌握程度。

六、教学资料1. 教材:《算法与数据结构》(教材名称),(作者)著,(出版社)出版;2. 参考资料:《数据结构与算法分析》(参考书名称),(作者)著,(出版社)出版。

七、教学设备1. 计算机实验室;2. 投影仪;3. 编程软件。

《数据结构与算法分析》课程教学大纲

《数据结构与算法分析》课程教学大纲

本科生课程大纲课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修一、课程介绍1.课程描述:数据结构与算法分析是学习利用计算机语言编写质量更好的程序以及软件的一门课程,是提高计算机编程水平的必由之路,为日后学习相关课程打下一个坚实的基础。

本课程针对低年级地球信息科学与技术专业和勘查技术与工程专业本科生学生开设,课程主要内容包括:数据结构及其算法,文件读写,查找和排序算法等。

通过课程学习,要求学生能够掌握计算机存储(包括内存和外存)数据的基本方法和常用模式以及其算法,提高编写程序、调试程序的能力,课程结束后能够完成较复杂程序的设计和编制。

2.设计思路:本课程引导低年级地球信息科学与技术专业和勘查技术与工程专业学生掌握利用计算机语言编写实用可靠的程序的基础理论和实际操作方法,提升自身的科研和工作技能。

课程内容的选取基于学生掌握了一定的计算机语言知识。

课程内容分为四个模块:数据结构介绍;常用的数据结构及其算法;文件读写;查找和排序算法。

这三个方面相互关联,互为补充,覆盖了计算机数据存储、管理和处理等的主要模式和方法。

3. 课程与其他课程的关系:- 1 -本课程需要本科生在完成低年级阶段的计算机语言的基础上开设。

先修课程:《C 程序设计》。

二、课程目标本课程目标是为低年级地球信息科学与技术专业和勘查技术与工程专业学生提供一个深入学习计算机编程的平台,引导并培养学生使用计算机语言来描述、管理和处理数据的能力,提高计算机编程水平。

到课程结束时,学生应能:(1)熟练掌握常用的计算机数据在内存中存储的方法及其常用算法;(2)掌握文件的读写操作,合理的利用文件存储数据;(3)掌握查找和排序常用的算法;(4)掌握如何编制可靠的程序以及程序调试的技巧。

三、学习要求要完成所有的课程任务,学生必须:(1)按时上课,上课认真听讲,积极参与课堂讨论。

(2)按时完成上机练习,对地质数据进行分析和处理,提交正式的上机报告。

《数据结构与算法》课程教学大纲(本科)

《数据结构与算法》课程教学大纲(本科)

《数据结构与算法》课程教学大纲课程编号:07175课程名称:数据结构与算法英文名称:Data Structure and Algorithm课程类型:专业课课程要求:必修学时/学分:64A (讲课学时:56上机学时:8)开课学期:3适用专业:数学与应用数学授课语言:中文课程网站:无一、课程性质与任务本课程为专业课,通过本课程的教学使学生数据结构与算法的基本概念、数据结构程序设计基本理论和方法包括线性结构、树、图、查找、排序等,并能正确运用这些理论和方法进行•般数据结构与算法项目的分析和判断,完成数据结构与算法的编程与设计,培养学生分析问题解决问题的能力。

本课程为专业课,也是其它设计编程类专业的基础,通过本课程的学习,能使同学更为顺利的完成数值计算等课程的学习。

二、课程与其他课程的联系本课程的先修课程为C语言程序设计,要求掌握C语言编程的基本要求才能学习数据结构与算法,后续课程为设计各类需要进行编程计算的各类专业课,例如:数值计算、计算机图形学、智能计算等课程。

三、课程教学目标1.在传授知识的同时,要通过各个教学环节逐步培养学生具有比较熟练的数据结构与算法的基本原理和知识,加强提高学生的白学能力,同时还要特别注意综合运用、分析解决实际问题能力的训练。

(支撑毕业要求指标点4.3)2.通过这门课程的学习,使学生掌握数据结构的基础知识、线性结构、栈、队列、树、图、搜索、排序等的基本原理,培养学生利用数据结构与算法解决各类问题的能力。

为学习后继课程及进一步获取其它学科的知识奠定必要的数据结构与算法基础。

(支撑毕业要求指标点3.1)3.学会使用数据结构与算法解决问题的各种方法,解决专业中遇到的需要使用数据结构与算法解决的问题,为学习后继数学课程和专业课程打下必要的基础。

部分章节安排自学, 培养学生的自学能力。

(支撑毕业要求指标点7.1)课程思政元素案例解析:1、通过讲解华人对算法的贡献,激发同学奋发图强,奋斗不息,为国家的梦想而努力。

《数据结构》教学大纲

《数据结构》教学大纲

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

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

二、教学目标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. 作业与报告:包括编程作业、实验报告等,学生需要按时完成,并按要求展示实现结果与思路。

大二选修课数据结构与算法教学大纲

大二选修课数据结构与算法教学大纲

大二选修课数据结构与算法教学大纲课程编号:XXXXXXX课程名称:数据结构与算法教学大纲适用年级:大二学分:3学时:48一、课程目标本课程旨在帮助学生建立起扎实的数据结构与算法基础知识,并培养学生的算法设计和分析能力。

通过理论学习和实践编程相结合的方式,使学生能够掌握各类常用数据结构的原理及实现方法,理解算法的设计思想和分析技巧,能够熟练运用算法解决实际问题。

二、教学内容本课程的教学内容主要包括以下几个方面:1. 数据结构基础知识- 算法的概念和分类- 数据结构的基本概念和分类- 线性表、栈和队列- 树和二叉树- 图的基本概念和表示方法 - 查找算法2. 常用数据结构的实现和应用 - 顺序表和链表的实现与应用 - 树和二叉树的实现与应用 - 图的实现与应用- 散列表的实现与应用3. 常用算法的设计与分析- 递归与递归算法- 排序算法及其分析- 查找算法及其分析- 图的遍历算法及其应用- 最短路径算法及其应用4. 算法的实际应用- 字符串匹配算法- 图像处理算法- 数据压缩算法三、教学方法1. 理论授课:通过教师讲解、幻灯片展示等方式,介绍数据结构和算法的基本概念、原理和实现方法。

2. 实践编程:通过编写程序解决具体问题,加深对数据结构和算法的理解,培养学生的编程能力。

3. 课堂讨论:引导学生分析和讨论实际问题的解决方法,加深对数据结构和算法的应用理解。

四、学习要求1. 学生应具备一定的基本编程知识和算法思维能力。

2. 课后需要进行大量的实践编程练习,巩固所学知识。

3. 积极参与课堂讨论和交流,互相学习,共同进步。

五、考核方式1. 平时成绩:包括课堂表现、作业完成情况等。

2. 期中考试:对学生对数据结构和算法的基本概念和理论知识的掌握情况进行考核。

3. 期末考试:对学生对数据结构和算法的应用能力进行考核,包括编程实现和算法设计分析等。

六、教材及参考书目1. 主教材:《数据结构与算法导论》2. 参考书目:- 《数据结构与算法分析:C语言描述》 - 《算法导论》- 《数据结构与算法》七、教学进度安排第一周:算法的概念和分类- 算法的基本概念- 算法设计的基本思想- 算法的时间复杂度和空间复杂度分析第二周:线性表、栈和队列- 线性表的基本概念和实现- 栈和队列的基本概念和实现......第十五周:最短路径算法及其应用- 单源最短路径算法- 多源最短路径算法- 最短路径算法在实际应用中的应用......以上仅为教学大纲的一部分内容,具体的教学进度和安排会根据实际情况进行调整。

《数据结构》教学大纲

《数据结构》教学大纲

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

《数据结构与算法》课程教学大纲一、课程简介及教学基本要求《数据结构与算法》是计算机程序设计的重要理论基础,是计算机相关专业的核心专业基础课程,针对我校计算机学院大学二年级学生开设,它前承高级语言程序设计和高等数学,后接操作系统、编译原理、数据库原理、人工智能等专业课程。

程序设计就像搭积木,数据结构是零件,而算法则是设计图纸。

高效运行且节约存储空间的程序,取决于数据结构和算法的设计。

课程的学习效果不仅关系到后续课程的学习,而且直接关系到软件设计水平的提高和专业素质的培养,在计算机学科教育中有非常重要的作用。

本课程将按照“线性结构,树型结构,图形结构,集合结构”四大模块循序渐进展开,重点学习线性表、字符串、栈和队列、树和二叉树、图以及集合在计算机上的存储和处理。

课程采用“线下+线上”“课程+思政”“理论+实践”六位一体,“课前导学→理论精讲→小组实验→闯关训练→实践扩展→答疑反馈”六阶递进的混合教学模式。

二、课程教学目标通过本课程的学习,使学生掌握数据结构的基本理论与知识,算法设计与分析的基本方法与技巧,培养学生分析和解决实际问题的能力,并为其开展计算机学科应用奠定数据结构与算法方面的基础。

通过解决工程问题,践行学术道德教育,增强学生软件岗位职业道德和团队合作意识,理论联系实际、精益求精的工作态度以及勇于开拓的创新精神。

具体目标如下:目标1.理解数据结构和算法的基本概念。

掌握常用基本数据结构的逻辑特征、存储表示和基本运算。

掌握常用查找和排序算法,并能够分析不同算法的适用场景。

目标2. 具备初步的算法分析能力,会计算算法的时间、空间复杂度。

目标3. 提升分析解决问题的能力,学会分析数据对象的特性,选择(应用)有效的数据结构,设计合适的算法,并编写和调试程序。

目标4. 培养软件岗位职业道德和团队合作意识,理论联系实际、精益求精的工作态度以及勇于开拓的创新精神。

注:课程贡献度用标志表示(“H”表示“高”,“M”表示“中”,“L”表示“低”)三、教学内容与教学方法第一章绪论【课程内容】数据结构与算法课程主要研究非数值计算的现实问题中的数据在计算机中表示、存取和处理。

本章内容包括:1. 什么是数据结构2. 数据结构的基本概念和术语3. 算法和算法分析4.抽象数据类型知识点:数据的三层次,数据结构的三要素,四种逻辑结构,四种存储结构,算法的概念和特点,算法的时间和空间复杂度。

【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2。

【重/难点】重点:数据结构的概念和术语、算法时间复杂性分析方法。

难点:数据逻辑结构和存储结构的定义以及区别,算法时间复杂性分析方法以及复杂性函数的渐进表示。

【学时分配】线下理论教学2学时,线下实验0学时,线上单元导学0.5学时,线上习题解析0.5学时,线上答疑辅导1学时1。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第二章线性表1课程总学时64,其中:理论学时48,实验学时16。

线上学习内容未计入总学时计算。

下同,不再赘述。

【课程内容】线性结构是最简单、最常用的数据结构,其特点是数据元素之间的逻辑关系是线性关系。

线性结构是数据元素间约束力最强的一种数据结构:在非空线性结构的有限集合中,存在唯一一个被称为“第一个”的数据元素;存在唯一一个被称为“最后一个”的数据元素;除“第一个”数据元素无前驱外,集合中的每个数据元素均有且只有一个“直接”前驱;除“最后一个”元素无后继外,集合中的每个数据元素均有且只有一个“直接”后继。

本章内容包括:1.线性表的类型定义2.线性表的顺序表示和基本运算3.线性表的链式表示和基本运算4.双链表的概念和基本运算5.循环链表的概念和基本运算6.线性表实现方法的比较7.算法设计举例知识点:顺序表、单链表的定义、特点及基本操作,双向链表、循环链表的特点、定义及基本操作。

【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2,目标3。

【重/难点】重点:顺序表、单链表、双向链表、循环链表的插入、删除操作。

难点:顺序表和单链表操作的实现。

【学时分配】线下理论教学6学时,线下实验4学时,线上单元导学1.5学时,线上习题解析1.5学时,线上答疑辅导3学时。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第三章栈和队列【课程内容】栈和队列仍属于线性结构,它们的逻辑结构和线性表相同,具有线性结构的共同特征。

学习本章时,既要注意栈和队列所具有的线性结构的共性,更要掌握其个性。

栈和队列的基本操作是线性表操作的子集,限定插入和删除元素的操作只能在线性表的一端进行。

栈按“后进先出”的规则进行操作,队列按“先进先出”的规则进行操作。

本章内容包括:1. 栈的概念、特点、逻辑结构、存储结构和基本运算2. 栈的应用举、栈与递归3. 队列的概念、特点、逻辑结构、存储结构和基本运算4. 算法设计举例知识点:栈的特点及基本操作,顺序栈和链栈的实现,栈与递归,队列的特点和基本操作,循环队列的实现,栈与队列的综合应用【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2,目标3。

【重/难点】重点:栈的压栈和弹栈操作、队列的入队和出队操作、中缀表达式求值难点:栈的应用:中缀表达式求值、中缀表达式转后缀表达式、后缀表达式求值【学时分配】线下理论教学6学时,线下实验2学时,线上单元导学1.5学时,线上习题解析1.5学时,线上答疑辅导3学时。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第四章字符串【课程内容】从数据结构角度讲,串属于线性结构,是一种数据元素(简称元素)为字符的特殊的线性表。

串的逻辑结构和线性表相似。

学习本章时,要注意串所具有的线性结构的共性,更要掌握其个性。

串的特殊性主要表现在以下两个方面:①串中的一个元素是一个字符;②操作的对象一般不再是单个元素,而是一组元素。

串的基本操作和线性表的基本操作有很大差别。

在线性表的基本操作中,大多以单个元素作为操作对象,而在串的基本操作中,通常以“串的整体”作为操作对象,例如,在主串中查找子串的位置,在主串中截取一个子串。

本章内容包括:1. 串的基本概念2. 串的表示和实现3. 串的模式匹配算法知识点:字符串的概念、存储和基本操作,模式匹配方法。

【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2,目标3。

【重/难点】重点:串的基本概念和操作的实现,KMP 算法的手工模拟。

难点:KMP算法的实现。

【学时分配】线下理论教学2学时,线下实验0学时,线上单元导学0.5学时,线上习题解析0.5学时,线上答疑辅导1学时。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第六章树和二叉树【课程内容】在前几章主要介绍了线性结构,线性结构主要反映了数据元素之间的线性关系。

从本章开始介绍非线性结构,其中树结构就是一种重要的非线性结构,它可以用来描述数据元素间的层次关系。

这种层次关系的特点是,任意一个结点的直接前驱(结点)如果存在,则一定是唯一的;直接后继(结点)如果存在,则可以有多个,这也被称为一对多的关系。

本章内容包括:1. 树的概念2. 二叉树的概念和性质3. 二叉树的表示和实现4. 树和森林的遍历运算5. 树与二叉树的转换6. 算法设计举例知识点:树的定义和术语、二叉树的定义、术语和主要性质、二叉树的遍历算法、二叉树的扩展算法、二叉树结构的性质、树的链接存储结构、树与二叉树的转换、树和森林的遍历。

【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2,目标3。

【重/难点】重点:二叉树的性质、二叉树的二叉链式存储结构、二叉树的遍历、二叉树结构的性质、树与二叉树的转换、树和森林的遍历。

难点:二叉树的性质、二叉树的遍历及扩展算法、二叉树结构的性质、树和森林的遍历、树与二叉树的转换【学时分配】线下理论教学6学时,线下实验2学时,线上单元导学1.5学时,线上习题解析1.5学时,线上答疑辅导3学时。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第七章树和二叉树的应用【课程内容】第6章已经介绍了树和二叉树的相关概念、性质、存储结构和基本运算,二叉树具有广泛的应用,常被用作表达式树、哈夫曼树、堆、二叉搜索(排序)树、平衡二叉树、判定树等。

本章内容包括:1. 表达式树2. 哈夫曼树和哈夫曼编码3. 堆和优先级队列4. 算法设计举例知识点:哈夫曼树的概念;哈夫曼树的创建和哈夫曼编码,二叉堆的概念和特点、优先级队列的概念及其二叉堆实现。

【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2,目标3。

【重/难点】重点:1.哈夫曼树的创建和哈夫曼编码的过程。

2.基于二叉堆的优先级队列的创建、入队、出队运算。

难点:优先级队列的入队、出队、创建算法。

【学时分配】线下理论教学4学时,线下实验2学时,线上单元导学1学时,线上习题解析1学时,线上答疑辅导2学时。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第八章图【课程内容】图是一种复杂的非线性结构,线性结构和树结构也可以看成简单的图结构。

在图结构中,结点之间的关系是任意的,是一种“多对多”的关系,即每个结点可以有零个或多个直接前驱和直接后继。

本章内容包括:1. 图的概念和术语2. 图的存储结构3. 图的遍历知识点:图的基本概念和术语、存储结构、图的遍历算法、图的生成树【教学方法】讲授法结合讨论法、翻转课堂、案例教学、项目教学等多种教学方法。

【支撑课程目标】目标1,目标2,目标3。

【重/难点】重点:基本概念(特别是完全图、连通分量、生成树和邻接点)、图的邻接矩阵和邻接表存储表示的特点、图的深度优先和广度优先遍历算法难点:图的深度优先和广度优先遍历算法【学时分配】线下理论教学4学时,线下实验4学时,线上单元导学1学时,线上习题解析1学时,线上答疑辅导2学时。

【评价方式】在线学习数据的形成性评价+闯关训练和实验作业的结果性评价。

第九章图的应用【课程内容】第8章已经介绍了图的基本概念和性质,重点讨论了图的存储结构和遍历运算。

本章重点介绍最小生成树、最短路径、拓扑排序等内容,简单介绍关键路径算法,这些内容都属于图的应用,内容包括:1. 最小生成树2. 有向无环图及其应用3. 最短路径知识点:MST性质、最小生成树(Prim 和 Kruscal)、拓扑排序算法、求每对顶点之间最短路径的Dijkstra算法、求所有顶点间最短路径的Floyd算法。

相关文档
最新文档