《数据结构与算法》教学大纲课程类别(必修/选修):学科专业必修课课程名称:数据结构与算法课程英文名称:DataStructuresandAlgorithms其中实验/实践学时:8总学时/周学时/学分:48/2/2先修课程:程序设计I、II计算机概论后续课程支撑:进阶面向对象程序语言、数据库原理与应用、游戏开发实务授课时间:3-18周周一1-3节授课地点:605机房授课对象:2024计技1班开课学院:粤台产业科技学院任课教师姓名/职称:时维宁/副教授答疑时间、地点与方式:1.每次课的课前、课间和课后,采用一对一的问答方式(实验楼215):2.每次习题课,采用集中讲解方式课程考核方式:开卷()闭卷(V)课程论文()其它(V)-
1 《数据结构与算法》教学大纲 课程名称:数据结构与算法 课程类别(必修/选修):学科专业必修课 课程英文名称:Data Structures and Algorithms 总学时/周学时/学分:48/2/2 其中实验/实践学时:8 先修课程: 程序设计 I、 II, 计算机概论 后续课程支撑: 进阶面向对象程序语言、数据库原理与应用、游戏开发实务 授课时间:3-18 周 周一 1-3 节 授课地点:605 机房 授课对象:2024 计技 1 班 开课学院:粤台产业科技学院 任课教师姓名/职称:时维宁 /副教授 答疑时间、地点与方式: 1.每次课的课前、课间和课后,采用一对一的问答方式 (实验楼 215); 2.每次习题课,采用集中讲解方式 课程考核方式:开卷()闭卷(✔)课程论文()其它(✔)
使用教材:李冬梅,曲锦涛.数据结构(Python版):北京:人民邮电出版社,2022.,ISBN:978-7-115-58066-5。教学参考资料:1. 《李冬梅。数据结构习题解析与实验指导(Python版)》北京:人民邮电出版社,2022.2.《算法设计与分析》清华大学出版社王晓东编著2003年1月第1版3.《大话数据结构》清华大学出版社程杰著2011年6月1日第1版4.《趣学数据结构》人民邮电出版社陈小玉2023年3月第1版线上:各精品资源共享课网站12.高校邦-综合能力提升在线学习平台(gaoxiaobang.com)Python科学计算https://imooc.gaoxiaobang.com/#/courses/detai/485653.优学院[2025Autumn|(DSA)DataStructures&Algorithms4.https:/courseweb.ulearning.cn/ulearning/index.html#/course/units?courseld-155553班课二维码2024计科(多媒体设计)课程概述数据结构与算法是计算机科学与技术专业的专业课。无论是计算科学还是计算实践,数据结构与算法都在其中扮演着重要角色。算法设计是计算机科学的一门分支学科,是软件技术的一个重要方向。数据结构与算法既是软件设计的关键,也是培养学生成为未来软件工程师所不可或缺的一门专业知识。数据结构与算法课程将语言程序设计、数据结构和计算方法等内容紧密地结合在一起,全面培养学生分析问题、解决问题的能力。这门学科的重点是在培养和培训学生学会经典算法方面的知识与应用,因此它对学生的专业发展具有极其重要的意义。课程目标本课程的教学目的是讲授在计算机应用中常常遇到的实际问题的解法,讲授设计和分析各种数据结构与算法的基本原理、方法和技术,培养学生对数据结构与算法复杂性进行正确分析的能力。知道数据结构与算法这门学科的性质、地位和独立价值。知道这门学科的研究范围、分析框架、研究方法、学科进展和未来方向。理解这门学科的主要概念,尤其是算法的时间复杂度和空间复杂度。初步学会运用数学的方法推导和证明算法的时间复杂度和空间复杂度。2
2 使用教材: 李冬梅, 曲锦涛.数据结构(Python 版).北京: 人民邮电出版社, 2022. ,ISBN:978-7-115-58066-5。 教学参考资料: 1. 《李冬梅.数据结构习题解析与实验指导(Python 版)》北京: 人民邮电出版社, 2022. 2. 《算法设计与分析》清华大学出版社 王晓东编著 2003 年 1 月第 1 版 3. 《大话数据结构》清华大学出版社 程杰著 2011 年 6 月 1 日第 1 版 4. 《趣学数据结构》 人民邮电出版社 陈小玉 2023 年 3 月 第 1 版 线上: 1. 各精品资源共享课网站 2. 高校邦-综合能力提升在线学习平台 (gaoxiaobang.com) 3. Python 科学计算 https://imooc.gaoxiaobang.com/#/courses/detail/48565 4. 优学院[2025 Autumn ](DSA) Data Structures & Algorithms https://courseweb.ulearning.cn/ulearning/index.html#/course/units?courseId=155553 课程概述 数据结构与算法是计算机科学与技术专业的专业课。无论是计算科学还是计算实践,数据结构与算法都 在其中扮演着重要角色。算法设计是计算机科学的一门分支学科,是软件技术的一个重要方向。 数据结构与算法既是软件设计的关键,也是培养学生成为未来软件工程师所不可或缺的一门专业知识。 数据结构与算法课程将语言程序设计、数据结构和计算方法等内容紧密地结合在一起,全面培养学生分 析问题、解决问题的能力。这门学科的重点是在培养和培训学生学会经典算法方面的知识与应用,因此 它对学生的专业发展具有极其重要的意义。 课程目标 本课程的教学目的是讲授在计算机应用中常常遇到的实际问题的解法,讲授设计和分析各种数据结构与 算法的基本原理、方法和技术,培养学生对数据结构与算法复杂性进行正确分析的能力。 知道数据结构与算法这门学科的性质、地位和独立价值。知道这门学科的研究 范围、分析框架、研究方 法、学科进展和未来方向。 理解这门学科的主要概念,尤其是算法的时间复杂度和空间复杂度。 初步学会运用数学的方法推导和证明算法的时间复杂度和空间复杂度
掌握常用的经典算法,培养学生在软件设计时对算法设计的重视,并能够把所学的知识应用到具体的软件设计实践中课程内容和要求:这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:知道:是指对这门学科和教学现象的认知。理解:是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。掌握:是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。学会:是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。课程基本要求是(1)掌握数据结构与算法的基本概念和理论。(2)掌握数据结构与算法技术和分析数据结构与算法以及数据结构与算法复杂性。课程教学目标及对毕业要求指标点的支撑:课程教学目标支撑毕业要求指标点毕业要求目标1:1.工程知识1能够运用数学、基础科学、计算2.问题分析机科学与技术、基本美学、基础设(专业基础知识与创新能力)培养学生具备多媒体设计、动画制作、游戏开发、虚拟现实与增强现实5.使用现代工具计、多媒体、动画、游戏、虚拟现应用、文化创意设计等领域专业知识与技能,成为实与增强现实、文化创意等相关知专业技术人才,能以科学方法解决问题与进行创识,对多媒体设计间题具有解决能新。力。2能够应用数学、自然科学和工程科学的基本原理,对于多媒体设计复杂问题进行识别与表送,并通过文献研究分析,以获得有效结论。5能够针对多媒体设计复杂问题,合理选用适当的技术、资源、现代工具,进行预测与模拟并做可行性分析。目标2:3.设计/开发解决方案3能够掌握多媒体设计、动画制作、4.研究(自我挑战能力与终身学习)培养学生具有自我挑游戏开发、虚拟现实与增强现实应战、独立思考、创新思维、组织管理、有效沟通、12终身学习用、文化创意设计等基础理论与技终身学习的能力。术,具有追求创新的意识,对多媒体设计问题提出创新解决方案。4能够熟悉多媒体设计、动画制作、游戏开发、虚拟现实与增强现实应用、文化创意设计等基本科学研究3
3 掌握常用的经典算法,培养学生在软件设计时对算法设计的重视,并能够把所学的 知识应用到具体的软 件设计实践中 课程内容和要求: 这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下: 知道 : 是指对这门学科和教学现象的认知。 理解 : 是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演 变过程的特征、形成原因以及教学要素之间的相互关系。 掌握 :是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。 学会 : 是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般 差错。 课程基本要求是 ⑴掌握数据结构与算法的基本概念和理论。 ⑵掌握数据结构与算法技术和分析数据结构与算法以及数据结构与算法复杂性。 课程教学目标及对毕业要求指标点的支撑: 课程教学目标 支撑毕业要求指标点 毕业要求 目标 1: (专业基础知识与创新能力)培养学生具备多媒体 设计、动画制作、游戏开发、虚拟现实与增强现实 应用、文化创意设计等领域专业知识与技能,成为 专业技术人才,能以科学方法解决问题与进行创 新。 1.工程知识 2.问题分析 5.使用现代工具 1 能够运用数学、基础科学、计算 机科学与技术、基本美学、基础设 计、多媒体、动画、游戏、虚拟现 实与增强现实、文化创意等相关知 识,对多媒体设计问题具有解决能 力。 2 能够应用数学、自然科学和工程 科学的基本原理,对于多媒体设计 复杂问题进行识别与表达,并通过 文献研究分析,以获得有效结论。 5 能够针对多媒体设计复杂问题, 合理选用适当的技术、资源、现代 工具,进行预测与模拟并做可行性 分析。 目标 2: (自我挑战能力与终身学习)培养学生具有自我挑 战、独立思考、创新思维、组织管理、有效沟通、 终身学习的能力。 3.设计/开发解决方案 4.研究 12 终身学习 3 能够掌握多媒体设计、动画制作、 游戏开发、虚拟现实与增强现实应 用、文化创意设计等基础理论与技 术,具有追求创新的意识,对多媒 体设计问题提出创新解决方案。 4 能够熟悉多媒体设计、动画制作、 游戏开发、虚拟现实与增强现实应 用、文化创意设计等基本科学研究
方法,具有科学研究精神,为多媒体设计复杂问题提出有效研究手段并将问题有效解决。12终身学习:保持终身学习的习惯与态度,结合最新学习工具持续自我学习,以培养解决新型态问题的能力目标3:6.工程与社会6能够衡量多媒体设计复杂问题解(社会人文素养)提开学生服务社会的情操与人文11.项目管理决的工程手段所造成社会影响。素养,发挥团队合作精神,奉献社会国家及人类,11学会多媒体设计项目管理方法培养学生良好的职业道德与社会责任感。与技巧,能够合理分配资源做好项目管理。理论教学进程表教学模式学支撑主讲教(线教学方周次教学主题教学的重点、难点、课程思政融入点时作业安排课程师上/混法数目标合式/线下)重点:(1)数据结构的一些基本概念:数据、数据元素、数据的逻辑结构、物理结构等:(2)抽象数据类型的表示和实现:课前(3)算法的概念和特性:线下(4)算法时间复杂度和空间复杂度的分析。教材难点:线预(1)掌握数据结构的基本概念:目(2)理解数据结构的逻辑特性和存下习、绪论标储表示方法时维宁·第1章习题3(3)了解抽象数据类型:教课堂/(4)能够分析算法的时间复杂度和学讲授空间复杂度课程思政融入点:与上在概述中结合前沿应用重点介绍数据结构的研究对象和算法性能评价机练方法,通过介绍一个“好”算法的衡量标准来向学生传达大局意识,习统筹兼顾;另外强调这门课“怎么学”,在其中坚定学生实现关键核心技术自主可控的决心,将“大局意识”和“合作精神”融入到整门课的学习中。4
4 方法,具有科学研究精神,为多媒 体设计复杂问题提出有效研究手 段并将问题有效解决。 12 终身学习:保持终身学习的习 惯与态度,结合最新学习工具持续 自我学习,以培养解决新型态问题 的能力。 目标 3: (社会人文素养)提升学生服务社会的情操与人文 素养,发挥团队合作精神,奉献社会国家及人类, 培养学生良好的职业道德与社会责任感。 6.工程与社会 11.项目管理 6 能够衡量多媒体设计复杂问题解 决的工程手段所造成社会影响。 11 学会多媒体设计项目管理方法 与技巧,能够合理分配资源做好项 目管理。 理论教学进程表 周次 教学主题 主讲教 师 学 时 数 教学的重点、难点、课程思政融入点 教学 模式 (线 上/混 合式/ 线下) 教学方 法 作业安排 支撑 课程 目标 3 绪论 时维宁 2 重点: (1)数据结构的一些基本概念:数 据、数据元素、数据的逻辑结构、 物理结构等; (2)抽象数据类型的表示和实现; (3)算法的概念和特性; (4)算法时间复杂度和空间复杂度 的分析。 难点: (1)掌握数据结构的基本概念; (2)理解数据结构的逻辑特性和存 储表示方法; (3)了解抽象数据类型; (4)能够分析算法的时间复杂度和 空间复杂度 课程思政融入点: 在概述中结合前沿应用重点介绍数 据结构的研究对象和算法性能评价 方法,通过介绍一个“好”算法的 衡量标准来向学生传达大局意识, 统筹兼顾;另外强调这门课“怎 么 学”,在其中坚定学生实现关键核 心技术自主可控的决心,将“大局 意识”和“合作精神”融入到整门 课的学习中。 线 下 教 学 课前 线下 教材 预 习、 课堂 讲授 与上 机练 习 第 1 章习题 目 标 一
重点:(1)线性表的类型定义:(2)线性表的顺序表示和实现:(3)线性表的链式表示和实现(4)线性表的应用,如有序表的合并等:(5)Python标准库中的线性表。难点:(1)理解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构(顺序表)和链式课前存储结构(链表)熟练掌握这两类存储结构的措述方线下法及其不同存储结构上基本算法的实现;教材(2)掌握链表中的头结点、头指针和首元结点的区别及循环链表、双预线目向链表的特个习、点及其基本算法的实现:线性表标时维宁·第2章习题44-5(3)掌握有序表的合并算法,能够教课堂从时间和空间复杂度的角度比较顺二序和链式两学讲授种存储结构的不同特点,能够依据与上实际应用问题的需求选用合理的存储结构,能够研究、机练设计出有效的基于线性表的算法,并能够分析算法的性能:习(4)掌握Python标准库中的线性表列表list和元组 tuple的基本实现技术,能够使用1ist的常用方法完成线性表的基本操作。课程思政融入点:通过讨论顺序结构的“优劣”,向学生传达唯物辩证法基本观点:并在一元多项式的求和应用问题中,介绍秦九韶算法,通过介绍中国古代算法,增加学生的民族自豪感。重点:(1)栈的类型定义,栈的顺序存储和链接存储的表示和实现(2)栈的应用举例,如表达式求值课前算法:(3)栈与递归的实现:线下(4)队列的类型,队列的顺序存储教材(循环队列)和链接存储的表示和实现:预线(5)Python标准库中的栈和队列。目难点:下习、栈和队列标(1)·第3章习题时维宁6-74课堂掌握栈和队列的特点,并能够在相教三应的应用问题中正确选用不同的数学讲授据结构:(2)掌握栈的两种存储表示和算法与上实现,特别注意栈满栈空的条件:(3)掌握队列的两种存储表示和算机练法实现,特别注意队满队空的条件:习(4)能够利用栈来设计算法实现表达式求值:(5)深刻理解递归算法执行过程中栈的状态变化过程5
5 4-5 线性表 时维宁 4 重点: (1)线性表的类型定义; (2)线性表的顺序表示和实现; (3)线性表的链式表示和实现; (4)线性表的应用,如有序表的合 并等; (5)Python 标准库中的线性表。 难点: (1)理解线性表的逻辑结构特性是 数据元素之间存在着线性关系,在 计算机中表 示这种关系的两类不同的存储结构 是顺序存储结构(顺序表)和链式 存储结构(链表), 熟练掌握这两类存储结构的描述方 法及其不同存储结构上基本算法的 实现; (2)掌握链表中的头结点、头指针 和首元结点的区别及循环链表、双 向链表的特 点及其基本算法的实现; (3)掌握有序表的合并算法,能够 从时间和空间复杂度的角度比较顺 序和链式两 种存储结构的不同特点,能够依据 实际应用问题的需求选用合理的存 储结构,能够研究、 设计出有效的基于线性表的算法, 并能够分析算法的性能; (4)掌握 Python 标准库中的线性 表列表 list 和元组 tuple 的基 本实现技术,能够使 用 list 的常用方法完成线性表的 基本操作。 课程思政融入点: 通过讨论顺序结构的“优劣”,向 学生传达唯物辩证法基本观点;并 在一元多项式 的求和应用问题中, 介绍秦九韶算法,通过介绍中国古 代算法,增加学生的民族自豪感。 线下教学 课前线下教材预习、课堂讲授与上机练习 第 2 章习题 目标二 6-7 栈和队列 时维宁 4 重点: (1)栈的类型定义,栈的顺序存储 和链接存储的表示和实现; (2)栈的应用举例,如表达式求值 算法; (3)栈与递归的实现; (4)队列的类型,队列的顺序存储 (循环队列)和链接存储的表示和 实现; (5)Python 标准库中的栈和队列。 难点: (1) 掌握栈和队列的特点,并能够在相 应的应用问题中正确选用不同的数 据结构; (2)掌握栈的两种存储表示和算法 实现,特别注意栈满栈空的条件; (3)掌握队列的两种存储表示和算 法实现,特别注意队满队空的条件; (4)能够利用栈来设计算法实现表 达式求值; (5)深刻理解递归算法执行过程中 栈的状态变化过程; 线下教学 课前线下教材预习、课堂讲授与上机练习 第 3 章习题 目标三