
《数据结构与算法》教学大纲课程类别(必修/选修):必修课程名称:数据结构与算法课程英文名称:DataStructureandAlgorithms其中实验/实践学时:8总学时/周学时/学分:48/3/3先修课程:程序设计I、程序设计II后续课程支撑:进阶面向对象程序语言、数据库原理与应用、游戏开发实务授课地点:实606授课时间:1-16周周五1-3节授课对象:2023级多媒体系1班开课学院:粤台产业科技学院多媒体设计系任课教师姓名/职称:盛介中/刷教技答疑时间、地点与方式:实验楼3071.每次课的课前、课间和课后,采用一对一的问答方式:2.每次习题课,采用集中讲解方式课程考核方式:开卷()闭卷()课程论文()其它()使用教材:图解数据结构-使用C#,吴灿铭、胡昭民,清华大学出版社。教学参考资料1.《算法设计与分析》清华大学出版社王晓东编潜2003年1月第1版2. 《大话数据结构》清华大学出版社程杰潜2011年6月1日第1版3.1《越掌数据结构》人民邮电出版社陈小玉2023年3月第1版课程简介:1
1 《数据结构与算法》教学大纲 课程名称:数据结构与算法 课程类别(必修/选修):必修 课程英文名称:Data Structure and Algorithms 总学时/周学时/学分:48/3/3 其中实验/实践学时:8 先修课程:程序设计 I、程序设计 II 后续课程支撑: 进阶面向对象程序语言、数据库原理与应用、游戏开发实务 授课时间: 1-16 周 周五 1-3 节 授课地点: 实 606 授课对象:2023 级 多媒体系 1 班 开课学院:粤台产业科技学院 多媒体设计系 任课教师姓名/职称:盛介中 /副教授 答疑时间、地点与方式: 实验楼 307 1.每次课的课前、课间和课后,采用一对一的问答方式; 2.每次习题课,采用集中讲解方式 课程考核方式:开卷()闭卷(√)课程论文()其它() 使用教材:图解数据结构-使用 C#,吴灿铭、胡昭民,清华大学出版社。 教学参考资料: 1. 《算法设计与分析》清华大学出版社 王晓东编着 2003 年 1 月第 1 版 2. 《大话数据结构》清华大学出版社 程杰着 2011 年 6 月 1 日第 1 版 3. 《趣学数据结构》 人民邮电出版社 陈小玉 2023 年 3 月 第 1 版 课程简介:

数据结构与算法是计算机科学与技术专业的专业课。无论是计算科学还是计算实践,数据结构与算法都在其中扮演着重要角色。算法设计是计算机科学的一门分支学科,是软件技术的一个重要方向。数据结构与算法既是软件设计的关键,也是培养学生成为未来软件工程师所不可或缺的一门专业知识。数据结构与算法课程将语言程序设计、数据结构和计算方法等内容紧密地结合在一起,全面培养学生分析问题、解决问题的能力。课程教学目标及对毕业要求指标点的支撑毕业要求课程教学目标支撑单业要求指标点目标1:1.1掌握数学、自然科学、基础和设计(专业基础知识与创新能力)培养学生具备数据结构领域美学类知识。专业知识与技能,成为专业技术人才,能以课程教授的方1.2掌握计算机科学与技术(多媒体设1-知识:能够运用数学、基础科学、计算机科学与法解决程序开发设计问题与进行创新。计领域的专业基础理论和技术知识。技术、基本美学、基础设计、多媒体、动画、游戏、1.3具备计算机科学与技术(多媒体设虚拟现实与增强现实、文化创意等相关知识,对计计)领域的专业实际动手能力。算机科学与技术问题具有解决能力。2.1应用数学、自然科学和科学基本原2-问题分析:能够应用数学、自然科学和科学的基理识别、表达计算机科学与技术(多媒本原理,对于计算机科学与技术复杂问题进行识别体设计)领域复杂问题。与表达,并通过文献研究分析,以获得有效结论。2.2能熟练掌握利用现代文献检索工具5-使用现代工具:能够针对计算机科学与技术复杂调研、分析和解决计算机科学与技术问题,合理选用适当的技术、资源、现代工具,进(多媒体设计)领域复杂问题的能力。行预测与模拟并做可行性分析。通过国际化视野和5.1了解计算机科学与技术(多媒体设跨文化交流合作的能力,发掘更多有效解决问题的现代工具。计专业常用的现代仪器、信息技术工具、工具和模拟软件的使用原理与方法,并理解其局限性。2
2 数据结构与算法是计算机科学与技术专业的专业课。无论是计算科学还是计算实践,数据结构与算法都在其中扮演着重要角色。算法设计是计算机 科学的一门分支学科,是软件技术的一个重要方向。数据结构与算法既是软件设计的关键,也是培养学生成为未来软件工程师所不可或缺的一门专业知 识。 数据结构与算法课程将语言程序设计、数据结构和计算方法等内容紧密地结合在一起,全面培养学生分析问题、解决问题的能力。 课程教学目标及对毕业要求指标点的支撑: 课程教学目标 支撑毕业要求指标点 毕业要求 目标 1: (专业基础知识与创新能力)培养学生具备数据结构领域 专业知识与技能,成为专业技术人才,能以课程教授的方 法解决程序开发设计问题与进行创新。 1.1 掌握数学、自然科学、基础和设计 美学类知识。 1.2 掌握计算机科学与技术(多媒体设 计)领域的专业基础理论和技术知识。 1.3 具备计算机科学与技术(多媒体设 计)领域的专业实际动手能力。 2.1 应用数学、自然科学和科学基本原 理识别、表达计算机科学与技术(多媒 体设计)领域复杂问题。 2.2 能熟练掌握利用现代文献检索工具 调研、分析和解决计算机科学与技术 (多媒体设计)领域复杂问题的能力。 5.1 了解计算机科学与技术(多媒体设 计)专业常用的现代仪器、信息技术工 具、工具和模拟软件的使用原理与方 法,并理解其局限性。 1-知识:能够运用数学、基础科学、计算机科学与 技术、基本美学、基础设计、多媒体、动画、游戏、 虚拟现实与增强现实、文化创意等相关知识 ,对计 算机科学与技术问题具有解决能力。 2- 问题分析:能够应用数学、自然科学和科学的基 本原理,对于计算机科学与技术复杂问题进行识别 与表达,并通过文献研究分析 ,以获得有效结论。 5-使用现代工具:能够针对计算机科学与技术复杂 问题,合理选用适当的技术、资源、现代工具,进 行预测与模拟并做可行性分析。通过国际化视野和 跨文化交流合作的能力,发掘更多有效解决问题的 现代工具

5.2能针对具体的对象开发或选用满足特定需求的现代工具,模拟和预测专业问题,并能分析其局限性。目标2:3.1能分析计算机科学与技术(多媒体设(自我挑战能力与终身学习)培养学生具有自我挑战、独立计领域的复杂问题的技术需求。思考、创新思维、组织管理、有效沟通、终身学习的能力。3.2能设计计算机科学与技术(多媒体设3-设计/开发解决方案:能够掌握计算机科学与技可以利用数据结构以及算法理论,应用在程序开发设计之术、动画制作、游戏开发、虚拟现实与增强现实应计)领域的复杂问题的解决方案。中,并且能够挑战进阶应用程序设计与制作,拥有超过一3.3能充分考虑社会、健康、安全、法用、文化创意设计等基础理论与技术,具有追求创般程序设计师水平的进阶能力。律、文化以及环境等因素。新的意识,对计算机科学与技术问题提出创新解决方案。4.1能够基于科学原理并采用科学方法对计算机科学与技术(多媒体设计)领域4-研究:能够熟悉计算机科学与技术、动画制作、复杂问题进行实验设计、分析,并解释游戏开发、虚拟现实与增强现实应用、文化创意设数据。计等基本科学研究方法,具有科学研究精神,为计4.2通过设计实验及实验数据得到合理算机科学与技术复杂问题提出有效研究手段并将有效的结论。问题有效解决。12.1能在社会发展的大背景下,认识到12-终身学习:保持终身学习的习惯与态度,结合最自主和终身学习的必要性。新学习工具持续自我学习,以培养解决新型态问题12.2具有自主学习的能力,包括对技术的能力。问题的理解能力,归纳总结的能力和提出间愿的能力。3
3 5.2 能针对具体的对象开发或选用满足 特定需求的现代工具,模拟和预测专业 问题,并能分析其局限性。 目标 2: (自我挑战能力与终身学习)培养学生具有自我挑战、独立 思考、创新思维、组织管理、有效沟通、终身学习的能力。 可以利用数据结构以及算法理论,应用在程序开发设计之 中,并且能够挑战进阶应用程序设计与制作,拥有超过一 般程序设计师水平的进阶能力。 3.1 能分析计算机科学与技术(多媒体设 计)领域的复杂问题的技术需求。 3.2 能设计计算机科学与技术(多媒体设 计)领域的复杂问题的解决方案。 3.3 能充分考虑社会、健康、安全、法 律、文化以及环境等因素。 4.1 能够基于科学原理并采用科学方法 对计算机科学与技术(多媒体设计)领域 复杂问题进行实验设计、分析,并解释 数据。 4.2 通过设计实验及实验数据得到合理 有效的结论。 12.1 能在社会发展的大背景下,认识到 自主和终身学习的必要性。 12.2 具有自主学习的能力,包括对技术 问题的理解能力,归纳总结的能力和提 出问题的能力。 3-设计/开发解决方案:能够掌握计算机科学与技 术、动画制作、游戏开发、虚拟现实与增强现实应 用、文化创意设计等基础理论与技术,具有追求创 新的意识,对计算机科学与技术问题提出创新 解决方案。 4-研究:能够熟悉计算机科学与技术、动画制作、 游戏开发、虚拟现实与增强现实应用、文化创意设 计等基本科学研究方法,具有科学研究精神,为计 算机科学与技术复杂问题提出有效研究手段并将 问题有效解决。 12-终身学习:保持终身学习的习惯与态度,结合最 新学习工具持续自我学习,以培养解决新型态问题 的能力

12.3不断关注和学习最新的科技创新成果,包括多媒体设计领域的前沿技术和趋势。12.4建立自我学习的机制和计划,持续提升专业水平,以适应行业的发展和变化。目标3:9.1能与其他学科的成员有效沟通,合9-个人和团队:具有积极正面谋事的人格特质与良(社会人文素养)培养学生专业素质和思维能力的同时,作共事。性团队互动的做事态度,在计算机科学与技术复能够与信息时代紧密结合,加深学生对国家的历史、发展杂问题解决过程中能够发挥关键性作用,让问题11.3具备科学研究方法,拓展多媒体的认识,培养学生的民族自豪感和勤奋刻苦、努力拼搏、以团队合作方式快速完成。设计领域知识,促进学术发展,提升专锐意进取和创新的精神,严谨治学的科学态度和积极向上毕业要求11-项目管理:学会计算机科学与技术项业实践水平。的价值观,为未来的学习、工作和生活奠定良好的基础,目管理方法与技巧,能够合理分配资源做好项目同时培养团队开发和团队沟通的能力。管理。理论教学进程表教学模式学时授课教教学内容(重点、难点、课程思政融入支撑课周次教学主题教学方法作业安排师数点)程目标(线上/线下)重点:课堂讲投课堂讨论:与本次(1)数据结构的一些基本概念:数据、盛介中线下与小组讨目标1课程内容相关之议课程说明数据元素、数据的逻辑结构、物理结构论题。等:4
4 12.3 不断关注和学习最新的科技创新 成果,包括多媒体设计领域的前沿技术 和趋势。 12.4 建立自我学习的机制和计划,持续 提升专业水平,以适应行业的发展和变 化。 目标 3: (社会人文素养)培养学生专业素质和思维能力的同时, 能够与信息时代紧密结合,加深学生对国家的历史、发展 的认识,培养学生的民族自豪感和勤奋刻苦、努力拼搏、 锐意进取和创新的精神,严谨治学的科学态度和积极向上 的价值观,为未来的学习、工作和生活奠定良好的基础, 同时培养团队开发和团队沟通的能力。 9.1 能与其他学科的成员有效沟通,合 作共事。 11.3 具备科学研究方法,拓展多媒体 设计领域知识,促进学术发展,提升专 业实践水平。 9-个人和团队:具有积极正面谋事的人格特质与良 性团队互动的做事态度 ,在计算机科学与 技术复 杂问题解决过程中能够发挥关键性作用 ,让问题 以团队合作方式快速完成。 毕业要求 11-项目管理:学会计算机科学与技术项 目管理方法与技巧 ,能够合理分配资源做好项目 管 理。 理论教学进程表 周次 教学主题 授课教 师 学时 数 教学内容(重点、难点、课程思政融入 点) 教学模式 (线上/线下) 教学方法 作业安排 支撑课 程目标 1 课程说明 盛介中 3 重点: (1)数据结构的一些基本概念:数据、 数据元素、数据的逻辑结构、物理结构 等; 线下 课堂讲授 与小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 1

(2)抽象数据类型的表示和实现(3)算法的概念和特性:(4)算法时间复杂度和空间复杂度的分析。难点:(1)掌握数据结构的基本概念:(2)理解数据结构的逻辑特性和存储表示方法(3)了解抽象数据类型:(4)能够分析算法的时间复杂度和空间复杂度课程思政融入点:口在概述中结合前沿应用重点介绍数据结构的研究对象和算法性能评价方法,通过介绍一个“好”算法的衡量标准来向学生传达大局意识,统筹兼顾:另外强调这门课“怎么学”,在其中坚定学生实现关键核心技术自主可控的决心,将“大局意识”和“合作精神”融入到课程学习中。5
5 (2)抽象数据类型的表示和实现; (3)算法的概念和特性; (4)算法时间复杂度和空间复杂度的分 析。 难点: (1)掌握数据结构的基本概念; (2)理解数据结构的逻辑特性和存储表 示方法; (3)了解抽象数据类型; (4)能够分析算法的时间复杂度和空间 复杂度 课程思政融入点: 在概述中结合前沿应用重点介绍数 据结构的研究对象和算法性能评价方 法,通过介绍一个“好”算法的衡量标准 来向学生传达大局意识,统筹兼顾;另外 强调这门课“怎 么学”,在其中坚定学 生实现关键核心技术自主可控的决心, 将“大局意识”和“合作精神”融入到课 程学习中

重点:(1)线性表简介:(2)认识数组:(3)矩阵:(4)数组与多项式:难点:理解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构课堂讲授课堂讨论:与本次是顺序存储结构(顺序表)和链式存储结盛介中b线下与小组讨目标1数组2,3课程内容相关之议构(链表),熟练掌握这两类存储结构的论题。描述方法及其不同存储结构上基本算法的实现。数组与多项式的部份,则需要学生具备一定之数学素养与逻辑能力。课程思政融入点:通过讨论序结构的“优劣”,向学生传达唯物辩证法基本观点:并在一元多项式的求和应用问题中,介绍秦九韶算法,通过介绍中国古代算法,增加学生的民族自豪感。重点:课堂讲授课堂讨论:与本次(1)动态分配内存线下盛介中与小组讨4目标24,5链表课程内容相关之议(2)单向链表论题。(3)环形链表6
6 2, 3 数组 盛介中 4 重点: (1)线性表简介 ; ( 2 )认识数组 ; ( 3 )矩阵 ; ( 4 )数组与多项式 ; 难点:理解线性表的逻辑结构特性是数 据元素之间存在着线性关系,在计算机 中表示这种关系的两类不同的存储结构 是顺序存储结构(顺序表)和链式存储结 构(链表),熟练掌握这两类存储结构的 描述方法及其不同存储结构上基本算法 的实现。数组与多项式的部份,则需要学 生具备一定之数学素养与逻辑能力。 课程思政融入点:通过讨论顺序结构的 “优劣”,向学生传达唯物辩证法基本观 点;并在一元多项式 的求和应用问题 中,介绍秦九韶算法,通过介绍中国古代 算法,增加学生的民族自豪感。 线下 课堂讲授 与小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 1 4,5 链表 盛介中 4 重点: (1) 动态分配内存 (2) 单向链表 (3) 环形链表 线下 课堂讲授 与小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 2

(4)双向链表难点:(1)掌握链表中的头结点、头指针和首元结点的区别及循环链表、双向链表的特点及其基本算法的实现:(2)掌握链表的合并算法,能够从时间和空间复杂度的角度比较顺序和链式两种存储结构的不同特点,能够依据实际应用问题的需求选用合理的存储结构,能够研究、设计出有效的基于线性表的算法,并能够分析算法的性能。课程思政融入点:通过讨论链表结构的“优劣”,向学生传达唯物辩证法基本观点:并在一元多项式的求和应用问题中,介绍秦九韶算法,通过介绍中国古代算法,增加学生的民族自豪感。重点:堆栈的简介与应用、算术表达式的求值法、中序法、前序法与后序法。课堂讲授课堂讨论:与本次难点:掌握堆栈的两种存储表示和算法盛介中线下和小组讨目标3A6,7堆栈课程内容相关之议实现,特别注意堆栈满堆栈空的条件。算论题。术表达式求值法需要较强的逻辑思考能力。>
7 (4) 双向链表 难点: (1)掌握链表中的头结点、头指针和首元 结点的区别及循环链表、双向链表的特 点及其基本算法的实现; (2)掌握链表的合并算法,能够从时间 和空间复杂度的角度比较顺序和链式两 种存储结构的不同特点,能够依据实际 应用问题的需求选用合理的存储结构, 能够研究、 设计出有效的基于线性表的 算法,并能够分析算法的性能。 课程思政融入点:通过讨论链表结构的 “优劣”,向学生传达唯物辩证法基本观 点;并在一元多项式 的求和应用问题 中,介绍秦九韶算法,通过介绍中国古代 算法,增加学生的民族自豪感。 6,7 堆栈 盛介中 4 重点:堆栈的简介与应用、算术表达式的 求值法、中序法、前序法与后序法。 难点:掌握堆栈的两种存储表示和算法 实现,特别注意堆栈满堆栈空的条件。算 术表达式求值法需要较强的逻辑思考能 力。 线下 课堂讲授 和小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 3

课程思政融入点:做事情要有耐心、恒心以及毅力。重点:认识队列以及队列的应用。难点:掌握队列的两种存储表示和算法实现,特别注意队满队空的条件。课程思政融入点:队列作为一种常用的数据结构,其特点是先进先出,其与日常生活中的排队情况本质一致,可引申到课堂讲授遵守社会秩序、尊重社会公德的层面,进课堂讨论:与本次队列盛介中线下1与小组讨目标38,9而对学生进行社会主义核心价值观教课程内容相关之议论题。育。“自由、平等、公正、法治”是从社会层面对社会主义核心价值观基本理念的凝练,法治是治国理政的基本方式,依法治国是社会主义民主政治的基本要求。它通过法制建设来维护和保障公民的根本利益,是实现自由平等、公平正义的制度保证。课堂讲授重点:树的基本概念、二叉树简介与运课堂讨论:与本次树线下6与小组讨目标210,11用、二叉树查找、平衡树。课程内容相关之议论题。难点:80
8 课程思政融入点:做事情要有耐心、恒心 以及毅力。 8,9 队列 盛介中 4 重点:认识队列以及队列的应用。 难点:掌握队列的两种存储表示和算法 实现,特别注意队满队空的条件。 课程思政融入点:队列作为一种常用的 数据结构,其特点是先进先出,其与日常 生活中的排队情况 本质一致,可引申到 遵守社会秩序、尊重社会公德的层面,进 而对学生进行社会主义核心价值观教 育。“自由、平等、公正、法治”是从社 会层面对社会主义核心价值观基本理念 的凝练,法治是治国理政的基本方式,依 法治国是社会主义民主政治的基本要 求。它通过法制建设来维护和保障公民 的根本利益,是实现自由平等、公平正义 的制度保证。 线下 课堂讲授 与小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 3 10,11 树 6 重点: 树的基本概念、二叉树简介与运 用、二叉树查找、平衡树。 难点: 线下 课堂讲授 与小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 2

(1)掌握树、二叉树的定义和相关术语,熟练掌握二叉树的性质和相应的证明方法:(2)掌握二叉树的顺序存储结构和链式存储结构,熟练掌握二叉链表存储结构:(3)熟练掌握二叉树创建、遍历的递归算法,能够灵活运用遍历算法实现二叉树的其他操作:(4)了解树的各种存储结构及其特点,掌握树和森林与二叉树的转换方法。课程思政融入点:根据树结构的特点引申出家族、家谱的概念,通过讲解家谱的发展历程,鼓励学生学习传统文化,辩证地传承传统文化,取其精华,去其糟柏。教育学生要爱自己的家,家庭成员要团结友爱,家庭是社会的细胞,一个个家庭的幸福才能组成国家的幸福。另一方面,祖国是我们共同的家,只有祖国强大了,我们才能有一个安定、团结的社会环境。因此爱家、爱家族、爱祖国是统一的,不能将他们割裂开来9
9 (1)掌握树、二叉树的定义和相关术语, 熟练掌握二叉树的性质和相应的证明方 法; (2)掌握二叉树的顺序存储结构和链式 存储结构,熟练掌握二叉链表存储结构; (3)熟练掌握二叉树创建、遍历的递归 算法,能够灵活运用遍历算法实现二叉 树的其他操作; (4)了解树的各种存储结构及其特点, 掌握树和森林与二叉树的转换方法。 课程思政融入点:根据树结构的特点引 申出家族、家谱的概念,通过讲解家谱的 发展历程,鼓励学生学习传统文化,辩证 地传承传统文化,取其精华,去其糟粕。 教育学生要爱自己的家,家庭成员要团 结友爱,家庭是社会的细胞,一个个家庭 的幸福才能组成国家的幸福。另一方面, 祖国是我们共同的家,只有祖国强大了, 我们才能有一个安定、团结的社会环境。 因此爱家、爱家族、爱祖国是统一的,不 能将他们割裂开来

重点:(1)图的定义和术语:(2)图的两种存储结构:邻接矩阵和邻接表:(3)图的两种遍历策略:深度优先搜索和广度优先搜索:(4)构造最小生成树的两种算法:普里姆算法和克鲁斯卡尔算法:(5)两类求最短路径问题的算:迪杰斯特拉算法和弗洛伊德算法:课堂讲投(6)拓扑排序和关键路径。课堂讨论:与本次12,13图线下与小组讨目标26课程内容相关之议论题。难点:(1)掌握图的定义和术语:(2)掌握图的邻接矩阵和邻接表两种存储结构,理解实际问题的求解效率与采用何种存储结构和算法有密切联系:(3)熟练掌握图的深度优先搜索和广度优先搜索的两种遍历策略:(4)掌握图的应用算法,包括:构造最小生成树的两种算法(普里姆算法和克鲁斯卡尔算法),两类求最短路径问题的算法(迪杰斯特拉算法和弗洛伊德算法)10
10 12,13 图 6 重点: (1)图的定义和术语; (2)图的两种存储结构:邻接矩阵和邻 接表; (3)图的两种遍历策略:深度优先搜索 和广度优先搜索; (4)构造最小生成树的两种算法:普里 姆算法和克鲁斯卡尔算法; (5)两类求最短路径问题的算:迪杰斯 特拉算法和弗洛伊德算法; (6)拓扑排序和关键路径。 难点: (1)掌握图的定义和术语; (2)掌握图的邻接矩阵和邻接表两种存 储结构,理解实际问题的求解效率与采 用 何种存储结构和算法有密切联系; (3)熟练掌握图的深度优先搜索和广度 优先搜索的两种遍历策略; (4)掌握图的应用算法,包括:构造最 小生成树的两种算法(普里姆算法和克 鲁斯卡尔算法),两类求最短路径问题的 算法(迪杰斯特拉算法和弗洛伊德算法) 线下 课堂讲授 与小组讨 论 课堂讨论:与本次 课程内容相关之议 题。 目标 2