数据结构(Java语言版)-教案李春葆 第1--9教学周 数据结构的体系结构和基本概念---栈和队列的顺序存储和链式存储.docx
《数据结构(Java语言版)-教案李春葆 第1--9教学周 数据结构的体系结构和基本概念---栈和队列的顺序存储和链式存储.docx》由会员分享,可在线阅读,更多相关《数据结构(Java语言版)-教案李春葆 第1--9教学周 数据结构的体系结构和基本概念---栈和队列的顺序存储和链式存储.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构(Java)课程/项目教案(指导性纲要Ver2.0版本试行)课程/项目代码:专业教育 管理团队课程类别/ 项目级别课程类别:学科基础课项目级别:一级项目【】二级项目【】授课专业学生层次本科专科课程负责人专业教师素质教师课内学时总学时:64周学时:4总学分:4理论学时:48实践学时:16课外学时 及 内容设计合作学习学时及内容安排:包括校内与校外学时:64分组讨论分组练习【J其它:自主学习学时及内容安排:包括校内与校外学时:64预习/复习V课后作业【J其它:授课时间学年第1学期 第1周至第16周先修课程/ 项目面向对象程序设计(Java)后续课程/ 项目Java高级框架、移动应用开发等教
2、学资源教材及参考资料:数据结构教程(Java语言描述),李春葆等主编,清华大学出版社,9787302551348, 2020年9月.数据结构教程(Java语言描述)学习与上机实验指导,李春葆等主编,清华大学 出版社,9787302551355, 2020 年 9 月.其他教学资源:多媒体课件:任课教师提供网络课程:慕课网址,https :www. icoursel63. org/数据结构与算法综合资料库(WWW. VCHOME. NET). CHM:帮助文档;数据结构题库,. cn/数据结构demo:各种算法的动画演示。程序源码。教学环境1、使用投影仪和网络。2、学生自带笔记本电脑,在Wind
3、ows平台上安装程序设计语言编程环境进行实验。注释:教学设 计按每次课2 学时撰写。教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一课外学习讲评(5分钟).随机抽取1个小组演示四级项目第二阶段第一部分按单链表方式存储的实现 案例。二、内容导入(10分钟)前面学习了单链表的类型定义和创建单链表,提问:1 .单链表如何进行类型定义和初始化;2 .如何定义通讯簿中的节点类型。3 .如何操作单链表中的元素。三、主要内容设计L按序号和按值查找带头结点的单链表(15分钟)【动画演示】按序号和按值查找带头结点的单链表的过程【讲授】按序号和按值查找带头结点的单链表的思想和算法【实验】编程实现单链表的
4、查找算法4 .单链表的插入(20分钟)【角色扮演】单链表的插入过程【动画演示】单链表的插入过程【讲授】单链表的插入思想和算法【实验】编程实现单链表的插入算法5 .单链表的删除(25分钟)【角色扮演】单链表的删除过程【动画演示】单链表的删除过程【讲授】单链表的删除思想和算法【实验】编程实现单链表的删除算法【归纳总结】 (10分钟)教学重难点是掌握单链表的插入、删除、查找算法。【课外学习要求】 (5分钟)完成四级项目第二阶段第二部分:按单链表方式存储后插入、删除、查找功能。注释:教学设 计按每次课2 学时撰写。教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一课外学习讲评(5分钟).随机抽
5、取1个小组演示四级项目第二阶段第一部分按单链表方式存储的实现 案例。二、内容导入(10分钟)前面学习了单链表的类型定义和创建单链表,提问:1 .单链表如何进行类型定义和初始化;2 .如何定义通讯簿中的节点类型。3 .如何操作单链表中的元素。三、主要内容设计L按序号和按值查找带头结点的单链表(20分钟)【动画演示】按序号和按值查找带头结点的单链表的过程【讲授】按序号和按值查找带头结点的单链表的思想和算法【实验】编程实现单链表的查找算法4 .单链表的插入(20分钟)【角色扮演】单链表的插入过程【动画演示】单链表的插入过程【讲授】单链表的插入思想和算法【实验】编程实现单链表的插入算法5 .单链表的删
6、除(20分钟)【角色扮演】单链表的删除过程【动画演示】单链表的删除过程【讲授】单链表的删除思想和算法【实验】编程实现单链表的删除算法【归纳总结】 (5分钟)教学重难点是掌握单链表的插入、删除、查找算法。【课外学习要求】 (10分钟)完成四级项目第二阶段第二部分:按单链表方式存储后插入、删除、查找功能。注释:教学设 计按每次课2 学时撰写。教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一、课外学习讲评(5分钟).检查学生按单链表方式存储后插入、删除、查找功能二、内容导入(10分钟)前面学习了单链表的类型定义和创建单链表,提问:1 .单链表如何进行类型定义和初始化;2 .如何定义通讯簿中
7、的节点类型。3 .如何操作单链表中的元素。4 .复习顺序表与单链表的基本操作。三、主要内容设计1 .复习顺序表的基本操作(30分钟)【复习】顺序表的插入、删除、查找的过程【讲授】顺序表的插入、删除、查找的过程【实验】编程顺序表的插入、删除、查找。2 .复习单链表的基本操作(30分钟)【复习】单链表的创建、插入与删除过程【讲授】单链表的创建、插入与删除过程【实验】单链表的创建、插入与删除算法【归纳总结】 (5分钟)教学重难点是掌握单链表的插入、删除、查找算法。【课外学习要求】 (10分钟)完成四级项目第二阶段第二部分:按单链表方式存储后插入、删除、查找功能。注释:教学设 计按每次课2 学时撰写。
8、教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一、课外学习讲评随机抽取1个小组演示四级项目第二阶段第一部分按单链表方式存储的实现 案例。二、内容导入前面学习了单链表的类型定义和创建单链表,提问:1 .单链表如何进行类型定义和初始化;2 .如何定义通讯簿中的节点类型。3 .如何操作单链表中的元素。三、主要内容设计评讲假期作业:1 .编写程序。设n个元素的线性表顺序存储在一维数组rO.maxlenT的前 n个位置上,试将新元素e插入表中第i-1个和第i个元素之间,写出算法。顺序 表的结构为:2 .编写程序。设n个元素的线性表顺序存储在一维数组r0. maxlen-1的前 n个位置上,试删
9、除值为x的元素,写出算法。顺序表的结构为:3 .编写程序。假设线性表L=(al,a2,an)用带头结点的单链表存储表示, 试编写算法对其实现就地逆置,即利用原链表中每一个结点存储空间,使得元 素的逻辑次序改变为(an,a2,al)o单链表结点结构为:4 .编写程序。设Head为带表头结点的单链表的头指针,试写出算法:若为非空 表,则输出:最大结点和最小结点的值(data值);否则,输出:“Empty list”。 单链表结点结构为:5 .设计一算法,找出单向链表中中间结点,返回中间结点指针,若链表为空, 则返回空指针。单链表结点结构为:6 .已知线性表的元素按递增顺序排列,并以带头结点的单链表
10、作为存储结构。 试编写一个删除表中所有值大于min并且小于max的元素的算法。函数原型:int del (struct node *head, int min, int max);单链表结点结构为:【归纳总结】教学重难点是掌握单链表的插入、删除、查找算法。【课外学习要求】完成四级项目第二阶段第二部分:按单链表方式存储后插入、删除、查找功能。【课后分析及改进】注释:教学设 计按每次课2 学时撰写。教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一、课外学习讲评随机抽取1个小组演示四级项目按单链表方式存储后插入、删除、查找功能的 实现案例。二、内容导入前面学习了单链表的插入和删除等基本操作
11、,提问:1 .单链表的插入是按什么插入?2 .在实际的应用中,比如学生成绩管理系统中,学号是递增有序的,转走一名 学生,又转来一名学生,一般转来的学生是占用转走学生的学号。那么,这时转来 学生信息就要插入到链表中,这时插入不是按序号插入,而是按学号递增有序的插 入,插入前和插入后都是按学号递增有序的。像这种情况我们又应该怎样实现呢?3 .如果我们创建链表,是在头部插入结点,那么链表中结点的顺序和我们输入 的顺序刚好相反,但一般来说,我们希望链表中结点的顺序和我们输入的顺序一致, 这时就需要对创建好的链表就地逆置。今天我们就来解决以上问题。三、主要内容设计1 .单链表按顺序插入【案例】单链表按顺
12、序插入【动画演示】单链表按顺序插入的过程【讲授】单链表按顺序插入思想和算法【实验】单链表按顺序插入算法的实现2 .单链表就地逆置【案例】单链表就地逆置【动画演示】单链表就地逆置过程【讲授】单链表就地逆置思想和算法【实验】编程实现单链表的逆置算法【归纳总结】教学重难点是掌握单链表的实际应用。【课外学习要求】完善完成四级项目第二阶段:链表操作。【课后分析及改进】教学团队对课程/项目教学设计的可行性、知识与能力指标的达成度、教与学环 节的设计、教学重点与难点的把握、教学方法手段的有效性、师生双边活动的设计、 课内与课外的结合、教与学的效果等课堂教学过程情况进行总结与分析,共同研讨 确定改进措施与方案
13、。注释:教学设 计按每次课2 学时撰写。教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一、课外学习讲评随机抽取1个小组讲评四级项目第二阶段。二、内容导入前面学习了单链表,提问:1 .单链表有哪些特点?2 .从单链表的中间某节点出发,能否访问其前驱节点?如何改进? 下面我们介绍两种改进的方案:单循环链表和双向循环链表。三、主要内容设计1 .单循环链表的特点及基本操作【讲授】单循环链表的特点【案例】两个单循环链表的合并2 .双向循环链表的特点及基本操作3 .循环链表的应用【角色扮演】约瑟夫生死者游戏【讲授】通过“约瑟夫生死者游戏”讲解单循环链表的应用【讨论】“约瑟夫生死者游戏”的实现【归
14、纳总结】教学重难点是对单循环链表及双向循环链表的理解。【课外学习要求】1 .完成线性表一章的习题。2 .编程实现“约瑟夫生死者游戏”。【课后分析及改进】教学团队对课程/项目教学设计的可行性、知识与能力指标的达成度、教与学环 节的设计、教学重点与难点的把握、教学方法手段的有效性、师生双边活动的设计、 课内与课外的结合、教与学的效果等课堂教学过程情况进行总结与分析,共同研讨 确定改进措施与方案。单元教案首页单元CU (3)学时12周次第7-9教学周教学环境设计与 组织安排课堂,笔记本电脑,小组合作单元 名称栈和队列单元项 目名称栈和队列的顺序存储和链式存储学标达度 教目及成理论知识理解并掌握栈和队
15、列的应用专业技能对根据具体的问题进行数据结构抽象化的能力 熟练运用程序设计语言实现数据结构算法的能力 具有较强的口头表述能力职业道德能够正确认识人生价值的自我实现和对他人所负的责任具有正直并勇于负责的职业道德和敬业精神教学 重点 难点用程序设计语言进行堆栈的基本操作(进栈、出栈);栈空、栈满的判断条件;用程序设计语言进行队列的基本操作(入队、出队);队空、队满的判断条件; 环状队列的基本操作(入队、出队)。学法段介 教方手媒教学方法:讲授、讨论、演示、角色扮演、练习、实验、研究性学习、案例、合作学习、 指导教学、任务分析、自主学习、读书、问题教学。教学媒介:教科书、板书、多媒体。教学 组织 方
16、式1 .讲评一一课后作业2 .互动一一表演栈和队列的操作过程3 .讲解一一栈和队列的基本操作和算法实现4 .操作一一编程实现顺序栈、顺序队、链栈、链队的插入、删除等操作实践 环节课内实践环节:编程实现顺序栈、顺序队、链栈、链队的插入、删除等操作课外实践环节:平时成绩管理系统中,用栈和队的思想来处理学生信息。教学设计注释:教学设 计按每次课2 学时撰写。【教学进程安排】重点设计教学步骤与具体内容安排O 一、课外学习讲评L讲评课后习题2.讲评“约瑟夫生死者游戏”的程序实现。二、内容导入前面学习了线性表,提问:1 .线性表有哪些特点?2 .顺序表与单链表的异同。下面我们介绍两种特殊的线性表,注意观察
17、它们的特殊性。三、主要内容设计1 .栈的定义及特点【讲授】栈的定义。【案例】砌墙、书架【讲授】特点:后进先出2 .栈的顺序存储结构【讲授】栈的顺序存储结构定义。3 .栈的基本操作算法【讲授】(1)初始化栈Init_Stack(S)(2)入栈 Push_Stack(S, x)(3)出栈 Pop_Stack(S)(4)获取栈顶元素内容Top_Stack(S) (5)判断栈是否为空Empty_Stack (S)4 .实现顺序栈的入栈、出栈程序【实验】要求创建一个顺序栈,以入栈方式输入一些元素,然后以出栈方式将这些元素输出。【归纳总结】教学重难点是对顺序栈及其操作的理解。【课外学习要求】完成四级项目第
18、三阶段:学生信息按顺序栈存储实现。【课后分析及改进】教学团队对课程/项目教学设计的可行性、知识与能力指标的达成度、教与学环 节的设计、教学重点与难点的把握、教学方法手段的有效性、师生双边活动的设计、 课内与课外的结合、教与学的效果等课堂教学过程情况进行总结与分析,共同研讨 确定改进措施与方案。注释:教学设 计按每次课2 学时撰写。教学设计【教学进程安排】重点设计教学步骤与具体内容安排。一、课外学习讲评随机抽取1个小组讲评四级项目第三阶段。二、内容导入前面学习了栈的特点和栈的顺序存储结构,提问:1 .栈属于那种数据结构?它的特点是什么?2 .栈的顺序存储结构一般用于那些情况?对于长度不太确定的时
19、候,采用顺序 栈是否合理,为什么?下面我们介绍栈的链式存储结构。三、主要内容设计1 .栈的顺序结构举例【案例】设计一个算法判断一个字符序列是不是同文(回文是指一个字符序列 以中间字符为基准两边字符完全相同)。【讨论】顺序栈如何实现2 .栈的链式存储结构【讲授】栈的链式存储结构。3 .链栈的基本操作算法【讲授】 (1)初始化栈SLInitiateO(2)入栈 SLPush(Is, x) (3)出栈 SLPop(ls,&x)(4)获取栈顶元素内容SLGetTop(ls)(5)判断栈是否为空SLIsEmpty(ls)4 .实现链栈的入栈、出栈程序【实验】编程实现链栈的入栈、出栈程序【归纳总结】教学重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构Java语言版-教案 李春葆 第1-9教学周 数据结构的体系结构和基本概念-栈和队列的顺序存储和链式存储 数据结构 Java 语言版 教案 教学 体系结构 基本概念 队列 顺序 存储
链接地址:https://www.taowenge.com/p-97887277.html
限制150内