大数据结构与算法设计实训教案设计.docx
《大数据结构与算法设计实训教案设计.docx》由会员分享,可在线阅读,更多相关《大数据结构与算法设计实训教案设计.docx(13页珍藏版)》请在冰点文库上搜索。
![大数据结构与算法设计实训教案设计.docx](https://file1.bingdoc.com/fileroot1/2023-6/4/6b8446f0-4e74-44ff-9282-25f6da0c1ec0/6b8446f0-4e74-44ff-9282-25f6da0c1ec01.gif)
大数据结构与算法设计实训教案设计
数据结构与算法设计实训教案
授课教师
职称
开课单位
课程名称
数据结构与算法设计实训
课程代码
课程性质
必修√
公共基础课□
学科基础课
专业课□
实践性环节√
其它选修□
选修□
课程学时
32
课程学分
2
学时分配
理论学时(0)
实践学时(32)
优选专业
软件工程
教学班
学年学期
2015学年第2学期
授课方式
多媒体+实验
考核方式
考试√考查□
教材名称
数据结构课程设计
作者
刘燕君等
出版社及出版时间
机械工业出版社,2014
指定参考书
数据结构(C++版)
作者
王红梅等
出版社及出版时间
清华大学出版社,2011
数据结构项目实训
戴文华等
人民邮电出版社,2012
教案编写时间
2015年3月
章节名称
第一章数据结构概论
教学时数
1
授课方式
课堂讲授
教学目的及要求
1.理解数据结构的定义,并掌握数据结构研究的内容
2.理解数据的存储结构使用的4种基本存储方法
3.掌握时间复杂度的计算方法
教学重点与难点
正确理解算法的有穷性和可行性的含义,掌握空间复杂度的计算方法
讨论练习作业
1.求解百钱买百鸡问题P3,实验题目1.4.1
教学手段
多媒体+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.学习目的10mins
2.数据结构定义及研究内容15mins
3.数据结构存储方式10mins
4.空间复杂度的计算10mins
章节名称
第二章类和类模板编程
教学时数
1
授课方式
课堂讲授+实训
教学目的及要求
1.熟悉类模板的设计
2.熟悉动态分配内存的方法
3.掌握多文件编程和基本调试方法
教学重点与难点
1.熟悉模板
2.熟悉动态分配内存的使用方法
讨论练习作业
1.约瑟夫环游戏程序P10,实验题目2.2.1,
2.折线程序P14,实验题目2.3.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.模板函数专门化和模板重载10mins
2.类模板5mins
3.在类中使用动态分配内存5mins
4.课堂练习,难点提示25mins
章节名称
第三章线性表训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.理解线性表的顺序存储结构和链式存储结构的异同
2.掌握顺序表上实现的各种基本运算的算法
3.掌握单链表上实现的各种基本运算的算法
教学重点与难点
1.理解线性表的顺序存储结构优缺点
2.理解线性表的链式存储结构优缺点
3.掌握线性表的基本运算的算法
4.难点是循环链表
讨论练习作业
1.一元多项式的加法运算P28,实验题目3.3.1,
2.改进的约瑟夫环游戏实现P34,实验题目3.4.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.复习线性表顺序存储结构特性及基本运算10mins
2.复习线性表链式存储结构特性及基本运算15mins
3.通过学生信息表建立的例子,讲解链表的建立过程20mins
4.课堂练习,难点提示135mins
章节名称
第四章栈和队列训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.熟悉顺序栈、链栈、循环队列、链队列的存储结构
2.熟练掌握顺序栈、链栈、循环队列、链队列的基本运算
3.掌握通过栈或队列解决实际应用问题的方法
教学重点与难点
1.理解栈和队列的特性
2.熟练掌握栈和队列的基本运算,在解决实际应用问题中灵活使用栈和队列
讨论练习作业
1.八皇后问题完整的算法实现P49,实验题目4.4.1
2.模拟后缀表达式的计算过程实现P54,实验题目4.5.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.栈的特性和基本操作10mins
2.通过类模板Stack的例子说明类模板专门化和使用方法20mins
3.队列的特性和基本操作10mins
4.课堂练习,难点提示140mins
章节名称
第五章树和二叉树训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.熟悉二叉树的定义、性质
2.熟练掌握二叉树的存储结构
3.熟练掌握二叉树的遍历
4.了解最优二叉树的特性
5.掌握建立最优二叉树和哈夫曼编码的方法
教学重点与难点
1.编写实现二叉树的各种运算的算法
2.解决与树或二叉树相关的应用问题
3.理解线索化二叉树
讨论练习作业
1.查找结点并显示该结点的层次和路径P116,实验题目7.2.1
2.哈夫曼编码算法设计及实现P125,实验题目7.4.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.复习树和二叉树的定义和性质10mins
2.复习二叉树的存储结构和遍历20mins
3.复习哈夫曼编码过程10mins
4.课堂练习,难点提示140mins
章节名称
第六章图结构训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.掌握图的邻接矩阵和邻接表两种基本的存储方式
2.掌握图在两种存储结构上实现的两种遍历算法
3.掌握求最小生成树算法思想
4.掌握求最短路径算法思想
5.掌握拓扑排序算法思想
教学重点与难点
1.掌握图的邻接矩阵和邻接表两种存储方式及对应的遍历算法
2.掌握求最小生成树、求最短路径以及拓扑排序算法的基本思想及时间性能
讨论练习作业
1.无向网络的最小生成树的普利姆算法实现P135,实验题目8.2.1
2.交通咨询系统设计与实现P138,实验题目8.3.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.复习图的基本术语5mins
2.复习图的存储表示方式5mins
3.复习图的基本运算,包括深度优先搜索法、广度优先搜索法、生成最小生成树法和产生最短路径法30mins
4.课堂练习,难点提示140mins
章节名称
第七章排序算法训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.掌握有关内部排序的一些常用方法,包括插入排序、交换排序、选择排序和归并排序
2.熟悉内部排序的基本思想、排序过程、算法实现、时间和空间性能分析
3.熟悉不同排序算法的差异
教学重点与难点
1.掌握希尔排序算法
2.掌握快速排序算法
3.熟练掌握堆排序算法
讨论练习作业
1.堆排序算法设计及实现P159,实验题目9.3.1
2.学生成绩处理系统P161,实验题目9.4.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.复习排序的基本概念5mins
2.复习经典的排序算法30mins
3.比较几种排序算法的时间复杂度、稳定性、辅助空间、对记录存储方式的要求和排序方法的选取10mins
4.课堂练习,难点提示135mins
章节名称
第八章查找算法训练
教学时数
2
授课方式
课堂讲授+实训
教学目的及要求
1.熟悉各种查找算法,并能熟练应用
2.掌握顺序查找、二分查找、二叉查找树上的查找,以及散列表上的查找的基本思想和算法实现
3.熟悉查找算法的评价方法
教学重点与难点
1.掌握线性表和二叉排序树的查找方法
2.难点是解决散列表冲突的方法
3.掌握查找方法所需的存储结构
讨论练习作业
1.航班信息的查询与检索P177,实验题目10.3.1
教学手段
多媒体+课堂练习+课后练习
参考资料
1.刘燕君,等.数据结构课程设计(C++语言描述)[M].机械工业出版社,2014.
2.王红梅,等.数据结构(C++版)[M].清华大学出版社,2011.
3.戴文华,等.数据结构项目实训[M].人民邮电出版社,2012.
具体内容
1.复习顺序表查找算法10mins
2.复习二叉排序树上的查找算法15mins
3.复习散列表查找算法15mins
4.课堂练习,难点提示50mins
章节名称
第九章分治算法训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.掌握分治算法的基本原理
2.利用分治策略编程解决输油管道、循环赛日程表、邮局选址和集合划分问题
教学重点与难点
掌握分治算法的设计思想,通过实际问题来应用分治设计算法
讨论练习作业
1.输油管道问题
2.循环赛日程表
3.邮局选址
4.集合划分
教学手段
多媒体+课堂练习+课后练习
参考资料
1.(美)克林伯格,等.算法设计[M].清华大学出版社,2007.
2.ThomasH.Cormen,等.算法导论[M].机械工业出版社出版(第二版),2006.
具体内容
1.复习分治算法框架10mins
2.分析典型二分法30mins
3.课堂练习,难点提示140mins
章节名称
第十章回溯算法训练
教学时数
4
授课方式
课堂讲授+实训
教学目的及要求
1.掌握回溯算法的基本原理
2.利用回溯策略编程解决桥本分数式、‘马’的遍历、素数环和排列树的回溯搜索问题
教学重点与难点
掌握回溯算法的设计思想,通过实际问题来应用回溯设计算法
讨论练习作业
1.桥本分数式
2.‘马’的遍历
3.素数环
4.排列及排列树的回溯搜索
教学手段
多媒体+课堂练习+课后练习
参考资料
1.(美)克林伯格,等.算法设计[M].清华大学出版社,2007.
2.ThomasH.Cormen,等.算法导论[M].机械工业出版社出版(第二版),2006.
具体内容
1.复习回溯算法框架10mins
2.复习基本的回溯算法20mins
3.复习排列和排列树的回溯算法20mins
4.课堂练习,难点提示130mins