数据结构(Python Java)(微课版) 教案 -单元3栈和队列.docx

数据结构(Python Java)(微课版) 教案 -单元3栈和队列.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

教案

课程名称

数据结构与算法设计

课程代码

总学时

64

课程负责人

任课教师

单元教案

授课日期

年月日—月日

授课地点

授课班级

班级人数

教学单元

单元3栈和队列

教学时数

8

教学目标

AOB1:掌握计算机程序设计中的线性表、栈、队列、树和图的逻辑结构与存储结构。了解递归的数据逻辑组织结构;

AOB2:掌握计算机程序设计中的线性表、栈、队列、树、图的数据增、删、改、查操作运算。了解递归的处理算法。掌握选择与排序处理算法;

AOB3:掌握对算法的科学分析方法。

BOB1:能根据实际问题中的数据特性选择适当的数据结构;

BOB2:设计出适当的算法和程序。

EOB1:掌握使用搜索引擎、论坛、帮助文档、课外书籍等方法解决学习中出现的问题;

EOB2:能主动阅读书后拓展知识并进行实验验证;

EOB3:能独立分析解决问题,能把自己的想法用代码实现。

教学方式

混合式教学

评价方式

课堂考勤(20%),

课堂活动参与程度(20%)

线上单元测试(40%)

线下课堂教学参与程度(20%)

教学资源

1.算法与数据结构(Java语言描述),陈媛,清华大学大学出版社

2.电脑50台(含eclips);

3.网络学习资源:

/forums/ST_Arithmetic:

课程平台网址:

/teacher/mainCourse/courseHome.html?courseOpenId=u3bwaoaqhzdgvlcf34d8ea

单元教学设计

第一次课

(2学时)

教学内容

3.1栈

定义:只能在表的一端进行插入和删除的线性表

逻辑结构:数据元素之间是一对一的关系

存储结构:顺序存储或链式存储

运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)或先进后出(FILO)的原则

基本操作:建栈、判断栈满或栈空、入栈、出栈、取栈顶元素值

栈的结构

栈是仅在表尾进行插入、删除操作的线性表

表尾(即an端)称为栈顶(top)

表头(即a1端)称为栈底(bottom)

插入元素到栈顶的操作,称为入栈

从栈顶删除元素的操作,称为出栈

栈的基本操作

initStack():初始化操作。设置一个空栈

isEmpty():判栈空函数。若为空栈,函数值为1,否则为0

size():求栈深函数。函数值为栈中当前的元素个数

top():读栈顶元函数。若栈不空,函数值为栈顶元素,否则为空元素NULL

push(x):进栈操作。将元素x插入栈中,使x成为栈的栈顶元素

pop():出栈函数。若栈不空,函数值为栈顶元素,且从栈中删除当前栈顶元素,否则函数值为空元素NULL

clear():栈置空操作。不论栈是否为空栈,置为空栈

栈的顺序存储结构(顺序栈)

利用一组地址连续的存储单元依次存放从栈底到栈顶的数据元素

栈的链式存储结构(链栈)

组织形式与单链表类似,链表的尾部是栈底,链表的头部是栈顶

教学重点

栈的顺序存储和链式存储

教学难点

栈的顺序存储和链式存储

教学流程

教学环节

教师活动

学生活动

讲评和考勤

(5分钟)

1平台发布任务

2考勤

1考勤

讲授(30分钟)

1.栈的定义(5分钟)

2.栈的基本操作(5分钟)

3.栈的顺序存储(10分钟)

4.栈的链式存储(10分钟)

1.积极回答教师提问

2.认真思考、记录关键内容

3.积极参与课堂的讨论和互动

代码实现演示(50分钟)

1.栈的顺序存储代码实现(25分钟)

2.栈的链式存储代码实现(25分钟)

1.认真思考、记录关键内容

总结与发布课后任务

(5分钟)

1.总结课堂内容以及在练习过程中出现的,问题。

2.布置课后任务

1.思考教师总结

2.记录课后任务

第二次课(2学时)

教学内容

技能训练:栈操作

目标:掌握入栈与出栈操作

训练步骤:

一、用顺序表实现栈

1创建栈类,创建数组,设定数组最大值。

2创建入栈方法push(){参数、方法自己写}

3创建出栈方法pop(){方法自己写}

4创建查看栈顶元素的方法getTop(){方法自己写}

5主函数中证明所有方法在各种正常情况下的正确性,尤其是栈空与栈满的状态。

二、用链表实现栈

1创建栈类,创建链表栈。

2创建入栈方法push(){参数、方法自己写}

3创建出栈方法pop(){方法自己写}

4创建查看栈顶元素的方法getTop(){方法自己写}

5主函数中证明所有方法在各种正常情况下的正确性,尤其是栈空的状态。

教学重点

栈操作的实现

教学难点

栈操作的实现

教学流

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档