|课件下载
终身会员
搜索
    上传资料 赚现金
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案
    立即下载
    加入资料篮
    资料中包含下列文件,点击文件名可预览资料内容
    • 课件
      项目三(第二课时).pptx
    • 项目三(第二课时).doc
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案01
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案02
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案03
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案04
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案05
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案06
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案07
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案08
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案01
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案02
    项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案03
    还剩32页未读, 继续阅读
    下载需要40学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    高中信息技术沪教版(2019)选修1 数据与数据结构2.设计算法一等奖课件ppt

    展开
    这是一份高中信息技术沪教版(2019)选修1 数据与数据结构2.设计算法一等奖课件ppt,文件包含项目三第二课时pptx、项目三第二课时doc等2份课件配套教学资源,其中PPT共40页, 欢迎下载使用。

    第二单元 初识数据结构

    项目三 探索商品基本信息表的实现

    ——线性表的应用

    第二课时 设计算法

     

    教材分析

    本节的主要内容是设计算法。根据前面所学的线性表的存储结构,详细阐述线性表采用顺序存储(即顺序表)时,用数组表示商品信息的插入和删除过程,以及采用链式存储(即链表)时,商品信息的插入和删除过程。对比两种存储结构在数据插入和删除时的别,比较数组和链表的不同。在对教材上的活动以及生活中其他问题情境进行抽象时,帮助学生感悟抽象数据类型在数据处理时的重要性;学会用数据结构来表达数据的逻辑关系,提高信息意识和计算思维能力。

    教学目标

    1.理解线性表顺序存储和链式存储时,数据的插入和删除过程;

    2.比较组和链表的区别,明确上述两种数据结构在存储不同类型数据中的应用。

    教学重点

    1.线性表顺序存储数据的插入和删除过程。

    2.线性表链式存储数据的插入和删除过程。

    教学难点

    1.数据的插入和删除过程。

    教学方法

    体验法、讲授法、讨论法、示例法

    教学准备

      计算机教室、多媒体设备、多媒体广播软件、安装Python编程的相关软件、教学课件、学生上机练习的程序文件,学生工作单等。

    教学过程

    一、新课导入

    复习上节课学习的内容线性表的概念和特点。

    如下表:

    商品信息表(简化)

    序号

    商品条形码编码

    品名

    库存数(件)

    零售价(元)

    1

    6956416200029

    1.25L果粒橙

    80

    8

    2

    6956416200265

    450mL果粒芒果

    80

    3.5

    3

    6921311196364

    1L冰红茶

    80

    4

    4

    6921311196494

    1L绿茶

    80

    4

    5

    6924862101467

    2L百事可乐

    100

    6.5

    6

    6900451893036

    2L芬达

    100

    6.5

    7

    6900451891032

    2L可口可乐

    100

    6.5

     

    商品信息表”——线性表不能被计算机直接处理,需要为它选择合适的存储结构,然后设计算法编程实现相关功能,如插入一条商品信息或者删除一条商品信息等。

     

    二、设计算法

    线性表既可以采用顺序存储结构存储,也可以采用链式存储结构存储。

    1.采用顺序存储结构

    线性表采用顺序结构存储时,称之为顺序表。很多高级程序设计语言的数组( ( array)在计算机内的表示也是顺序结构,为此,可以用数组来表示顺序表。假设用数组s来存放商品信息表的数据元素,则每个数据元素都可以采用s[0]s[1][2]s[3]表示,其中s为数组名,0,1,2,3……为数组下标,用来标识数据元素的位置和顺序。如图2-9所示(为方便说明,假设目前只有4条商品数据)

     

     

     

     

     

     

    若要在商品1后插入( insert)商品5,则插入位置后的每个数据元素都要向后移动空出插入位置然后插入商品5,具体过程如图2-10所示。

     

    而删除( delete)操作恰好是插入操作的逆过程。若需将插入的商品5删除,则须将该数据元素后的所有数据元素依次向前移动,使后一数据元素覆盖前一数据元素。最终,依旧保证了数据元素存储的连续性,如图2-11所示。

     

    小贴士

    个元素覆盖前一个元素后,该元素本身依旧存在于原先的位置上,要等到后一个元素将其覆盖。最后一个元素覆盖前一个元素后,最后一个位置须去掉。

     

    思考与讨论

    1.使用数组存储插入和删除移动数据元素的次数与什么相关?

    2.使用数组存储,确定插入和删除元素的位置是否方便?

    参考:

    1.与数据的规模以及插入的位置有关。

    2.方便,因为数组就是按照顺序来存储数据的。

     

    2.采用链式存储结构

    线性表采用链式存储结构存储时,称为链表。链表中数据可以是不连续存储的。链表不要求逻辑上相邻的数据素在物理位置上也相邻,数据元素之间通过指针链接,如2-12所示。

    若要在商品1后插入商品5,先要切断插入位置前后的数据链,然后将断开的链连接到插入元素,具体过程如图2-13所示。

    若要删除一个商品,只要将须删除数据元素的前一个数据元素的指针指向下一个数据元素即可,如图2-14所示。

    小贴士

    当一个序列中只含有指向它的后继结点的链接时,就称该链表为单链表。

     

    思考与讨论

    1数组和链表有何区别?

    2.你觉得本例中,链表插入操作方便还是数组方便?为什么?如果编程实现,哪个执行操作的次数可能多些?

    参考:

    1.数组的数据在内存中连续存放,无须为表示表中元素之间的逻辑关系而增加额外的存储空间,但是插入和删除需要移动大量的元素。

    2.链表中的结点在内存中不是连续存放,需要增加空间来存放下一个结点的地址,但是插入和删除操作非常方便。链表的插入操作方便,只需要修改指针即可,不需要移动元素。数组执行的次数要多一些。

     

    三、线性表的存储

    线性表可以使用顺序存储结构存储此时称为顺序表,也可以使用链式存储结构存储

    此时称为链表

    1.线性表的顺序存储

    大多数高级程序语言的数组在计算机内的表示是顺结构。为此可以用数组来表示顺

    序表。

    数组( array)是由数据类型相同的数据元素构成的有序集合。它被用来存放大量数据

    类型相同的数据。

    数组与变量一样,每个数组都要有一个唯一的名称,即数组名,命名规则和变量相同。

    数组元素是组成数组的基本单元,每一个存储单元对应于一个数组元素。数组元素用数组的名字和它自己在数组中的顺序位置来表示。例如,d[0]表示名字为d的数组中的第一个元素,d[1]代表数组d中的第二个元素,以此类推,如图2-16所示。

    2-16数组d

    插入操作

    如果要实现在线性表L中的第i个位置插入新元素e,插入算法的思想为:

     

     

     

     

     

     

     

    删除操作

    删除算法的思想为:

     

     

     

     

     

    数组的优点是具有随机访问的特性,可以快速地存取任意位置的元素。缺点是为了保持存储的连续性,插入和删除操作可能会移动大量元。因此,数组适合查找和存取数据的操作,而不适合插入和删除的操作

    2.线性表的链式存储

    链式存储是将数据元素存储在地址任意的存储空间中,用指针来指出元素间的逻辑关系,所以每个结点空间由数据域和指针域两部分组成,数据域用来存放数据元素,指针域用来存放指向后继的指针。链式存储是一种动态存储结构,即每当要存储元素时就去申请一个存储空间,存放数据元素及指针

    链表中的结点形式用以下方式表示

     

     

    单链表的插入

    假设存储元素e的结点为s若要实现将e插入到aiai+1之间,如图所示,该如何做呢?

    2-17将要插入结点s

    只须让s.nextp. next的指针做一点改变即可实现插入。即

    s.next=p. next

    p. next=s

    通过图2-18可以理解以上两句代码。

    2-18插入结点s

    那么,这两句代码的顺序是否可以交换位置?

    即先p.next=s,s.next=p.next

    如果先执行 P.next=s的话,p.next会被s覆盖,s.next=p.next就等于s.next=s了,所

    以这两句代码是不能颠倒次序的。

    在单链表第i个位置上插入结点e的算法思想为;

    单链表的删除

    单链表的删除操作如图2-19所示。

    2-19单链表的删除

    假设元素a2的结点为q要实现删除结点q的操作,其实就是将它的前驱结点的指针指向后继结点即可

    可以是:p.next=p.next.next也可以是:q=p.next;  p.next=q.next;

    删除单链表第i个结点的算法思想为:

    无论是单链表插入还是删除算法,它们其实都是由两部分组成:第一部分是从第一个元素开始逐个查找第i个元素,第二部分是实现插入和删除元素

    链表的优点是插入和删除的速度快,链表长度不固定,拓展灵活。缺点是不能随机查找,必须从第一个开始逐个查找,效率很低。因此,链表比较适合插入或删除数据频繁的操作,而不适合查找操作。

    总之,线性表的顺序存储结构和链式存储结构各有其优缺点,不能简单地认为哪个好哪个不好,需要根据实际情况,来综合判断采用哪种存储结构更能满足需求。

     

    四、课后活动

    1.现需要删除商品3数据元素,请在图2-15的基础上,用图示方式呈现全过程(数组和单链表两种方式)。

    2-15数组和单链表

    2.完成在商品3后插入商品5的算法步骤设计。

    算法步骤(数组)

    判断插入位置i是否合法,若不合法则返回ERROR

    判断数组存储空间是否已满,若满则返回ERROR

    _________________________________________

    _________________________________________

    数组长度加1

     

    算法步骤(链表)

    查找商品序号为i的结点并由指针p指向该结点。

    生成一个新结点。

    将新结点的数据域信息___________________________

    将新结点的指针域信息___________________________

    p结点的指针域指向新结点。

     

     

     

     

     

     

     

     

     

    相关课件

    高中信息技术3.采用索引查找法查找商品精品ppt课件: 这是一份高中信息技术3.采用索引查找法查找商品精品ppt课件,文件包含项目九第三课时pptx、项目九第三课时doc等2份课件配套教学资源,其中PPT共41页, 欢迎下载使用。

    沪教版(2019)2.体验使用二分查找法查找商品精品ppt课件: 这是一份沪教版(2019)2.体验使用二分查找法查找商品精品ppt课件,文件包含项目九第二课时pptx、项目九第二课时doc等2份课件配套教学资源,其中PPT共44页, 欢迎下载使用。

    信息技术2.尝试使用冒泡排序法实现商品销量排序优秀课件ppt: 这是一份信息技术2.尝试使用冒泡排序法实现商品销量排序优秀课件ppt,文件包含项目八第二课时pptx、项目八第二课时doc等2份课件配套教学资源,其中PPT共33页, 欢迎下载使用。

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

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

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

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

    提示

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

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

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

    重新选择
    明天再来
    个人账户下载
    下载确认
    您当前为教习网VIP用户,下载已享8.5折优惠
    您当前为云校通用户,下载免费
    下载需要:
    本次下载:免费
    账户余额:0 学贝
    首次下载后60天内可免费重复下载
    立即下载
    即将下载:资料
    资料售价:学贝 账户剩余:学贝
    选择教习网的4大理由
    • 更专业
      地区版本全覆盖, 同步最新教材, 公开课⾸选;1200+名校合作, 5600+⼀线名师供稿
    • 更丰富
      涵盖课件/教案/试卷/素材等各种教学资源;900万+优选资源 ⽇更新5000+
    • 更便捷
      课件/教案/试卷配套, 打包下载;手机/电脑随时随地浏览;⽆⽔印, 下载即可⽤
    • 真低价
      超⾼性价⽐, 让优质资源普惠更多师⽣
    VIP权益介绍
    • 充值学贝下载 本单免费 90%的用户选择
    • 扫码直接下载
    元开通VIP,立享充值加送10%学贝及全站85折下载
    您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送
      充值到账1学贝=0.1元
      0学贝
      本次充值学贝
      0学贝
      VIP充值赠送
      0学贝
      下载消耗
      0学贝
      资料原价
      100学贝
      VIP下载优惠
      0学贝
      0学贝
      下载后剩余学贝永久有效
      0学贝
      • 微信
      • 支付宝
      支付:¥
      元开通VIP,立享充值加送10%学贝及全站85折下载
      您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送
      扫码支付0直接下载
      • 微信
      • 支付宝
      微信扫码支付
      充值学贝下载,立省60% 充值学贝下载,本次下载免费
        下载成功

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

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

        本资源来自成套资源

        更多精品资料

        正在打包资料,请稍候…

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

        服务器繁忙,打包失败

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

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

        请单份下载或分批下载

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

        我知道了
        正在提交订单

        欢迎来到教习网

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

        微信扫码,快速注册

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

        手机号注册
        手机号码

        手机号格式错误

        手机验证码 获取验证码

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

        设置密码

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

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

        注册成功

        下载确认

        下载需要:0 张下载券

        账户可用:0 张下载券

        立即下载
        账户可用下载券不足,请取消部分资料或者使用学贝继续下载 学贝支付

        如何免费获得下载券?

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

        即将下载

        项目三 探索商品基本信息表的实现——线性表的应用(第二课时)课件+教案
        该资料来自成套资源,打包下载更省心 该专辑正在参与特惠活动,低至4折起
        [共10份]
        浏览全套
          立即下载(共1份)
          返回
          顶部
          Baidu
          map