- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
教案
课程名称
数据结构与算法设计
课程代码
总学时
64
课程负责人
任课教师
单元教案
授课日期
年月日—月日
授课地点
授课班级
班级人数
教学单元
单元8查找
教学时数
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学时)
教学内容
1查找的概念
关键字:数据元素中的一个数据项,可以标识数据元素,主关键字,次关键字
查找表:具有同一属性的数据元素的集合,分为静态查找表和动态查找表两类
查找:给定关键字值K,在表中找出关键字等于给定值K的结点。若找到,则查找成功,返回该结点的信息或该结点在表中的位置。否则查找失败,返回相关的指示信息
查找方法的评价
查找效率:占用存储空间多少,算法本身复杂程度
平均查找长度ASL:为确定记录在表中的位置,需和给定值进行比较的关键字的个数的期望值
静态查找
静态查找问题:查找过程中数据不变
静态查找表结构:顺序表,线性链表
静态查找分类:顺序查找、折半查找、分块查找等
2顺序查找
查找过程:从表的一端开始逐个进行记录的关键字和给定值的比较
顺序查找的评价:查找成功时,平均查找长度约为元素个数的一半
顺序查找的优点:算法简单,顺序表或用链表均适用,结点是否按关键字有序,都同样适用
顺序查找的缺点:查找效率低
提高顺序查找的效率:合理安排节点位置,使访问越频繁的数据,比较的次数越少
3.折半查找
二分查找
条件:顺序表,表中数据元素按关键字有序
基本思想:每次将待查记录所在区间缩小一半
举例
实现过程的基本思想:
确定查找区间的中点mid,将待查的K值与seqlist[mid].key比较,若相等,查找成功并返回此位置;若不相等,确定新的查找区间,返回1,重新开始二分法查找,当上下界相等时,结束查找过程。
二分查找过程二叉树实现
已知表中有n个结点,以当前查找区间的中点为作为根,左半区和右半区中的结点分别作为根的左子树和右子树。由此得到的二叉树,称为二分查找的判定树(DecisionTree)或比较树(ComparisonTree)
折半查找的特点
虽然二分查找的效率高,但是要将表按关键字排序。只适用于顺序存储结构。为保持表的有序性,在顺序结构里插入和删除都必须移动大量的结点。适用于表结点比较稳定的,很少做插入或删除操作的顺序表。不适用于链表。
教学重点
顺序查找,折半查找
教学难点
折半查找的实现
教学流程
教学环节
教师活动
学生活动
讲评和考勤
(5分钟)
1平台发布任务
2考勤
1考勤
讲授(80分钟)
1.查找的概念(15分钟)
2.顺序查找(25分钟)
3.折半查找(40分钟)
1.积极回答教师提问
2.认真思考、记录关键内容
3.积极参与课堂的讨论和互动
总结与发布课后任务
(5分钟)
1.总结课堂内容以及在练习过程中出现的,问题。
2.布置课后任务
1.思考教师总结
2.记录课后任务
第二次课(2学时)
教学内容
技能训练:折半查找
训练目标:掌握利用二分查找判定树实现折半查找的方法
训练步骤:
1根据数组元素的个数创建完全二叉树
2数组中的元素是有序的,对建立好的二叉树进行中序遍历,同时按顺序放入数据。完成二分查找判定树的创建
3创建查询元素的方法
4主函数测试方法
教学重点
二分查找判定树的创建,查询元素的方法
教学
您可能关注的文档
- 数据结构(Python Java)(微课版)-课程大纲 .docx
- 数据结构(Python Java)(微课版) 教案 -单元1绪论.docx
- 数据结构(Python Java)(微课版) 教案 -单元2线性表.docx
- 数据结构(Python Java)(微课版) 教案 -单元3栈和队列.docx
- 数据结构(Python Java)(微课版) 教案 -单元4递归.docx
- 数据结构(Python Java)(微课版) 教案 -单元5树.docx
- 数据结构(Python Java)(微课版) 教案 -单元6图.docx
- 数据结构(Python Java)(微课版) 教案 -单元7排序.docx
- 数据结构(Python Java)(微课版) 教案全套 蒋理 -单元1--8 绪论 --查找.docx
- 数据结构(Python Java)(微课版) 课件 1.2 数据结构概述.ppt
文档评论(0)