搜索
    上传资料 赚现金
    5.1 数据结构与算法的关系 教学设计(表格式)
    立即下载
    加入资料篮
    5.1 数据结构与算法的关系 教学设计(表格式)01
    5.1 数据结构与算法的关系 教学设计(表格式)02
    还剩2页未读, 继续阅读
    下载需要15学贝
    使用下载券免费下载
    加入资料篮
    立即下载

    信息技术选修1 数据与数据结构第五章 数据结构与算法5.1 数据结构与算法的关系优质课表格教学设计

    展开
    这是一份信息技术选修1 数据与数据结构第五章 数据结构与算法5.1 数据结构与算法的关系优质课表格教学设计,共4页。

    数据结构与算法的关系教学设计

    课程标准

    教学目标

    数据结构与算法的关系

    教材内容: 5.1 数据结构与算法的关系

    适应的课程标准:

    1.3 结合生活实际,理解数据结构的概念,认识数据结构在解决问题过程中的重要作用。

    1.7 通过实现数据的排序和查找,体验迭代和递归的方法,理解算法与数据结构的关系。

    教学目标:

    结合具体程序实例,理解算法效率分析的一般方法。

    回顾线性结构的特性,总结不同数据结构对算法效率的影响。

     

    指向的核心素养:

    信息意识:本条目通过设置真实问题情境,引导学生发现不同的数据结构对算法效率有不同的影响,在处理实际问题能够有意识地选择合适的数据结构进行问题建模。

    计算思维:运用简化、归约的基本思想方法,即排除掉其它无关的影响因素,从理论角度对实际程序进行算法的效率分析,对算法的运行效率进行评估、预测,并进行验证。算法与数据结构关系密切,不同的数据结构对算法的效率也有影响,考虑到实际运用场景的需要,能够选择合适的数据结构。

    数字化实践:通过创设数字化学习环境,鼓励学生根据实际解决问题的需要,使用思维导图等数字化工具开展自主学习和协作探究,演示不同数据结构对算法的影响,提升数字化实践素养。

    信息社会责任能够思考、归纳出数据结构与算法在社会生活中的各项运用,它所带来的效率提升对科技发展、社会进步的重要意义

    学习环境:网络机房、算法可视化工具

    建议课时:1课时

    教学活动设计

    教学环节

    教学过程

    设计意图

    情境导入

    导入1:在多媒体课件上展示高斯故事,请学生对算术求和的公式法和累加求和算法的差异之处,以对算法效率形成初步感性认识。

    导入2:互联网的搜索引擎能够快速地访问与检索信息,Google做过一个试验,显示10条搜索结果的页面载入需要0.4秒,显示30条搜索结果的页面载入需要0.9秒,结果后者使得Google总的流量和收入减少了20%。Google地图上线的时候,首页大小有100KB,后来下降到70~80KB。结果,流量在第一个星期上升了10%,接下来的3个星期又再上升了25%。Amazon的统计也显示了相近的结果,首页打开时间每增加100毫秒,网站销售量会减少1%。

    通过导入生活中的算法问题和计算机科学领域的算法问题,以便顺利过渡到算法时间复杂度空间复杂度的分析。

    新课教学

    活动一

    通过分析上述导入1案例,请学生比较教材中算法一算法二及其延伸等具体程序实例。

    算法一:

    n=int(input())    #执行1次

    s=(1+n)*n/2       #执行1次

    print(s)          #执行1次

    算法二:

    n=int(input())       #执行1次

    s=0                  #执行1次

    for i in range(1,n+1): #执行n+1次

        s=s+i             #执行n次

    print(s)              #执行1次

    算法二的延伸:

    n=int(input())        #执行1次

    s=0

    x=0

    for i in range(1,n+1):

        for j in range(1,n+1):

            x=x+1        #执行n*n次

            s=s+x

    print(s)              #执行1次

    有了对实际程序实例的对比分析后,学生对算法的时间复杂度概念有了基本的理解。这里主要侧重于理论分析,即比较不同程序的执行次数。需要注意的是,时间复杂度并不与程序实际运行的时间耗费完全等价。程序的时间耗费依赖于不同的计算机硬软件等环境因素,并且程序的运行时间往往还与测试数据的规模也有很大关系,比如排序时,小量数据在不同算法测试时可能差异几乎为零,而有一百万、一千万随机数字进行排序,那不同算法的差异就比较大了。通过教材中简单易懂的三个程序实例,搭建起学习的脚手架,可以让学生初步理解算法的时间复杂度分析的一般方法。通过对实际案例的对比分析,引导学生自主阅读教材内容,加深理解,从而实现知识的内化。在此基础上,教师可以引入的概念,简单介绍不同阶的时间复杂度。

     

    小组讨论

    接着引导学生分析导入2案例,并与教材中下列案例进行比较分析:

              天气预报程序必须在指定时间前完成气象指数的计算。如果不能按时计算出预报结果,这个算法就毫无价值。

              数字相机的人脸识别程序,必须在几分之一秒内完成工作。过慢的算法会带来糟糕的用户体验,照相机的制造商不可能采用。

     

    算法效率对实际生活产生非常大的影响,对算法效率分析可以从两个维度展开:时间复杂度即算法的时间耗费,空间复杂度即算法的空间耗费。在此基础上,可以设问:举例说明算法时间复杂度与空间复杂度存在怎样的关系?引导学生回忆前面所学知识,教师可以提供如下案例:某程序需要判断某年是不是闰年,每次给一个年份,都要通过计算得到是否是闰年的结果。如果这种计算比较频繁的话,还有另一个办法就是,事先建立一个有2050个元素的数组(年数略比现实多一点),然后把所有的年份按下标的数字对应,如果是闰年,此数组项的值就是1,如果不是值为0。这样,所谓的判断某一年是否是闰年,就变成了查找这个数组的某一项的值是多少的问题。假设输入数据规模为n,这时算法的时间复杂度降为O(1),但是空间耗费变大了,需要存储2050个0或1。这就是典型的以空间换时间的算法。

    新课教学

    问题导学:以我们曾经学习过的数组和链表为例,试回忆元素访问、插入、删除方面的效率差异,并完成下列表格。

     

    数组

    链表

    应用场景

    适合数据规模确定且在处理过程中保持数据规模稳定的问题

    不需要预先分配存储空间,结点个数不受限制

    组织结构

    用一段连续的存储单元来依次存储数组元素

    由结点构成,每个结点中包含数据区域和指针区域,相邻结点间通过指针链接

    操作特性

    访问:数据访问效率较高

    时间复杂度:________

     

    插入或删除:需要移动大量数组元素

    时间复杂度:________

     

    访问:需要从头结点开始寻找

    时间复杂度:________

     

    插入或删除:只要找出某个结点位置,可以方便操作

    时间复杂度:________

     

     

    教师可以快速展示数组、链表中插入新元素之后的基本操作过程,或者引导学生使用相应的信息工具直观呈现二者操作的算法效率差异

     

    引自教材 图2.1.5 数组中插入新数据的过程

    引自教材 图2.2.3 单向链表中插入新结点过程

     

    通过对以前所学知识的总结与归纳、提升,可以立足于最近发展区,通过旧知构建新知,实现抽象概念建立的平滑过渡,培养学生数据结构与算法关系密切相关的意识。本任务可以看成是任务一在本任务中的自然延伸。学生在回顾数组、链表中元素访问、插入、删除的操作时,可以利用相关信息工具进行直观演示即可,并不需要代码具体实现,从而可以保证课堂效率。

     

    拓展学习

    有人认为现代计算机的运行速度足够快了,已经没有必要研究算法的效率了,通过导入2中的案例,你有什么体会?

     

    可以让学生自主学习和分组讨论

    教师总结:大数据时代对算法的效率要求更高了,而不是可有可无

    帮助学生建立起算法效率分析的一般方法,并能与数据结构联系起来。

    课堂小结

    1. 算法效率分析的一般方法,时间复杂度的基本概念;

    2. 数据结构与算法的紧密关系;

    3. 合理评估算法效率的重要性。

     

    概念学习需要先从生活实例出发,通过分析实例,培养学生对概念的感性认识,为深刻理解概念提供事实基础;有了事实基础和体验过程,还需要对知识进行归纳和总结,纳入原有知识结构,实现知识的升华。

    作业布置

    所有学生都应当完成本节课的1个问题与讨论和2个思考与练习。

     

     

    教学设计思路

    本课内容分配1课时完成,内容为数据结构与算法的关系。本节内容可在回忆、梳理本书前四章内容的基础上进行归纳、提升,相关概念在本章后续学习中进一步深化。本节第一部分通过算法一算法二及其延伸等具体程序实例,介绍算法效率分析中的时间复杂度分析方法。第二部分则从学生已经熟悉的线性结构出发,简要分析数组与链表在元素访问、插入、删除方面的效率差异,体现出数据结构与算法效率之间的紧密关系。

    首先,要让学生对时间复杂度的概念建立初步认识,可以举一些学生比较熟悉的生活实例,或者熟悉的故事。教材中的示例程序算法一算法二即可引用伟大数学家高斯小学时的故事展开。算法不同的实现方式,导致解决问题的效率上差异。

    其次,在对时间复杂度有一定认识的基础上,可以对算法二进行延伸,引导学生分析程序中的时间复杂度与数据规模的关系,进而引出不同的时间复杂度。

    再次,解决同一个问题,因为算法设计、数据结构选择的不同导致算法效率特别是运行时间上的差异。在课前准备一些与算法效率相关的程序实例,在课堂上老师可以结合这些实例,直观呈现程序运行时间上的差异结果。

    本节在全章中起到提纲挈领的作用,教学中既要注重基本概念的理解和掌握,又要关注兴趣的形成。数据结构、逻辑结构、存储结构、算法效率、时间复杂度、空间复杂度这些知识比较抽象,应避免单一的概念讲解,立足学生最近发展区,充分挖掘前面四章的铺垫、展现学生熟悉的算法实例(项目),结合这些实例的剖析,使学生从抽象到具体地理解数据结构与算法的紧密联系,算法效率的一般分析方法,如教材中有关线性结构中数组与链表之间区别的问题与讨论。在学生掌握时间复杂度的基础上,让学生主动探究空间复杂度的度量问题,此时结合教材的空间复杂度度量问题与讨论

    针对

    核心素养培养的

    设计考虑

    信息意识、信息社会责任:本条目通过设置真实问题情境,引导学生发现不同的数据结构对算法效率有不同的影响,在处理实际问题能够有意识地选择合适的数据结构进行问题建模。本节课在导入时选择了两个案例,第一个案例简单易懂,贴近学生的学习实际,可以方便迁移到新知。第二个案例涉及到的算法比较复杂,尽管有的学生可能有所了解,但不宜展开多讲。教师引导总结提升到理论层次的方式,目的是培养学生重视算法效率,并选择合适的数据结构。能够思考、归纳出数据结构与算法在社会生活中的各项运用,它所带来的效率提升对科技发展、社会进步的重要意义。

    计算思维:实际生活场景中如搜索引擎、智能地图、自动驾驶的算法非常复杂,也难以进行详细、具体、全面的分析,需要运用简化、归约的基本思想方法,即排除掉其它无关的影响因素,从理论角度对实际程序进行算法的效率分析,对算法的运行效率进行评估、预测,并进行验证。通过导入的案例一,即三个简单的小程序即可阐明算法复杂度的基本概念。

    数字化学习与创新:通过创设数字化学习环境,鼓励学生根据实际解决问题的需要,使用思维导图等数字化工具开展自主学习和协作探究,演示不同数据结构对算法的影响,提升数字化实践素养。本节在任务二中,主要是总结线性结构中各种基本操作基础上,进一步提炼升华旧知,回顾数组、链表操作的过程中,鼓励学生根据实际解决问题的需要,恰当选择信息工具,不需要实现代码,仅演示相应操作即可,以达到提高效率的目的。

     

    相关教案

    高中浙教版 (2019)第五章 数据结构与算法5.1 数据结构与算法的关系教案: 这是一份高中浙教版 (2019)第五章 数据结构与算法5.1 数据结构与算法的关系教案

    浙教版 (2019)选修1 数据与数据结构1.1 数据精品表格教学设计: 这是一份浙教版 (2019)选修1 数据与数据结构1.1 数据精品表格教学设计,共4页。教案主要包含了教学设计等内容,欢迎下载使用。

    浙教版 (2019)选修1 数据与数据结构5.4 数据查找教学设计: 这是一份浙教版 (2019)选修1 数据与数据结构5.4 数据查找教学设计,共4页。

    免费资料下载额度不足,请先充值

    每充值一元即可获得5份免费资料下载额度

    今日免费资料下载份数已用完,请明天再来。

    充值学贝或者加入云校通,全网资料任意下。

    提示

    您所在的“深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载 10 份资料 (今日还可下载 0 份),请取消部分资料后重试或选择从个人账户扣费下载。

    您所在的“深深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载10份资料,您的当日额度已用完,请明天再来,或选择从个人账户扣费下载。

    您所在的“深圳市第一中学”云校通余额已不足,请提醒校管理员续费或选择从个人账户扣费下载。

    重新选择
    明天再来
    个人账户下载
    下载确认
    您当前为教习网VIP用户,下载已享8.5折优惠
    您当前为云校通用户,下载免费
    下载需要:
    本次下载:免费
    账户余额:0 学贝
    首次下载后60天内可免费重复下载
    立即下载
    即将下载:0份资料
    • 充值学贝下载 90%的用户选择 本单免费
    • 扫码直接下载
    选择教习网的 4 个理由
    • 更专业

      地区版本全覆盖, 同步最新教材, 公开课⾸选;1200+名校合作, 5600+⼀线名师供稿

    • 更丰富

      涵盖课件/教案/试卷/素材等各种教学资源;500万+优选资源 ⽇更新5000+

    • 更便捷

      课件/教案/试卷配套, 打包下载;手机/电脑随时随地浏览;⽆⽔印, 下载即可⽤

    • 真低价

      超⾼性价⽐, 让优质资源普惠更多师⽣

    开票申请 联系客服
    本次下载需要:0学贝 0学贝 账户剩余:0学贝
    本次下载需要:0学贝 原价:0学贝 账户剩余:0学贝
    了解VIP特权
    您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送

        扫码支付后直接下载

        0元

        扫码支付后直接下载

        使用学贝下载资料比扫码直接下载优惠50%
        充值学贝下载,本次下载免费
        了解VIP特权
        • 微信
        • 支付宝

        微信扫码支付

        支付宝扫码支付(支持花呗)

        到账0学贝
        • 微信
        • 支付宝

        微信扫码支付

        支付宝扫码支付 (支持花呗)

          下载成功

          Ctrl + Shift + J 查看文件保存位置

          若下载不成功,可重新下载,或查看 资料下载帮助

          本资源来自成套资源

          更多精品资料

          正在打包资料,请稍候…

          预计需要约10秒钟,请勿关闭页面

          服务器繁忙,打包失败

          请联系右侧的在线客服解决

          单次下载文件已超2GB,请分批下载

          请单份下载或分批下载

          支付后60天内可免费重复下载

          我知道了
          正在提交订单

          欢迎来到教习网

          • 900万优选资源,让备课更轻松
          • 600万优选试题,支持自由组卷
          • 高质量可编辑,日均更新2000+
          • 百万教师选择,专业更值得信赖
          微信扫码注册
          qrcode
          二维码已过期
          刷新

          微信扫码,快速注册

          还可免费领教师专享福利「樊登读书VIP」

          手机号注册
          手机号码

          手机号格式错误

          手机验证码 获取验证码

          手机验证码已经成功发送,5分钟内有效

          设置密码

          6-20个字符,数字、字母或符号

          注册即视为同意教习网「注册协议」「隐私条款」
          QQ注册
          手机号注册
          微信注册

          注册成功

          下载确认

          下载需要:0 张下载券

          账户可用:0 张下载券

          立即下载

          如何免费获得下载券?

          加入教习网教师福利群,群内会不定期免费赠送下载券及各种教学资源, 立即入群

          即将下载

          5.1 数据结构与算法的关系 教学设计(表格式)

          该资料来自成套资源,打包下载更省心

          [共10份]
          浏览全套
            立即下载(共1份)
            返回
            顶部