探索商品基本信息表的实现【知识精讲+拓展提升】线性表的应用-高中信息技术(沪科版2019选择性必修1).pptxVIP

  • 1
  • 0
  • 约3.64千字
  • 约 26页
  • 2023-07-06 发布于广东
  • 举报

探索商品基本信息表的实现【知识精讲+拓展提升】线性表的应用-高中信息技术(沪科版2019选择性必修1).pptx

项目三探索商品基本信息表的实现 — 线性表的应用03了解“商品信息表”采用的线性表的数据结构,了解线性表的属性。学习目标02知道线性表主要采用的两种存储结构,并分析它们的优缺点。熟悉使用python 程序实现线性数据结构的插入和删除。0101情景导入导入通常,超市销售的商品品种繁多每种商品都含有品名、零售价、库存数等多种信息,如表 2-4 所示。为了更好地管理,超市必须保存这些商品信息,还要做到及时更新,如添加、删除和修改商品信息,那么他们是怎么实现这些操作呢?通常超市都采用数据库来实现管理,而实际编程实现这些数据管理功能时,必须使用有效的数据结构技术来支持各种数据操作的执行。1. 问题分析为了实现使用计算机对超市商品进行管理,需要按照商品的不同分类,建立“商品信息表”,然后通过条码扫描器读取商品条码,录入每一种商品的具体数据。上页的商品信息表中,每一个数据元素有相同的数据项。若将表中的每一个数据元素表示为 商品i (i 为原表中的商品序号),可以得到按原序号顺序排列的序列,如图 2-8所示。从表中可以看到,各个数据元素(商品)之间存在着一对一的关系,自上而下顺序排列。此表也是线性表。思考与讨论1. 在日常生活中,线性表的例子比比皆是。例如,26 个英文字母的字母表:A,B,C,D,...,Z就是一个线性表。想一想,生活中还有哪些这样的例子?2. 上一个项目中给出的抽象数据类型是否适用于商品信息表?为什么?2. 设计算法“商品信息表”——线性表不能被计算机直接处理,需要为它选择合适的存储结构,然后设计算法编程实现相关功能,如插入一条商品信息或者删除一条商品信息等。线性表既可以采用顺序存储结构存储,也可以采用链式存储结构存储。(1) 采用顺序存储结构线性表采用顺序结构存储时,称之为顺序表。很多高级程序设计语言的数(array)在计算机内的表示也是顺序结构,为此,可以用数组来表示顺序表。假设用数组 s来存放商品信息表的数据元素,则每个数据元素都可以采用 s[0]、s[1]、s[2]、s[3]……表示,其中 s 为数组名,0,1,2,3……为数组下标,用来标识数据元素的位置和顺序。如图 2-9 所示(为方便说明,假设目前只有 4 条商品数据)。图 2-9 数组若要在商品 1 后插入(insert)商品 5,则插入位置后的每个数据元素都要向后移动空出插入位置然后插入商品 5,具体过程如图 2-10 所示。图 2-11 数组的删除操作而删除(delete)操作恰好是插入操作的逆过程。若需将插入的商品 5 删除,则须将该数据元素后的所有数据元素依次向前移动,使后一数据元素覆盖前一数据元素。最终,依旧保证了数据元素存储的连续性,如图 2-11 所示。图 2-10 数组的插入操作(2) 采用链式存储结构线性表采用链式存储结构存储时,称为链表。链表中的数据可以是不连续存储的。链表不要求逻辑上相邻的数据元素在物理位置上也相邻,数据元素之间通过指针链接,如图2-12 所示。若要删除一个商品,只要将须删除数据元素的前一个数据元素的指针指向下一个数据元素即可,如图 2-14 所示。若要在商品 1 后插入商品 5,先要切断插入位置前后的数据链,然后将断开的链连接到插入元素,具体过程如图2-13 所示。图 2-14 链表的删除操作图 2-13 链表的插入操作活?动3.4 现需要删除商品 3 数据元素,请在图 2-15 的基础上,用图示方式呈现全过程(数组和单链表两种方式)3.5 完成在商品 3 后插入商品 5 的算法步骤设计。3. 程序实现根据上述算法 , 可以编写程序实现“商品信息表”的数据插入与删除。用 Python 语言实现顺序存储结构类型可以采用定义类的方式。商品信息定义如下:活?动3.6 若采用数组,请参考配套资源中的“商品表(数组).py”,完成以下程序,实现“商品信息表”的数据插入和删除,并上机运行。 3.7 若采用链表,请参考配套资源中的“商品表(链表).py”,完成以下实现“商品信息表”的数据插入和数据删除的程序。02知识链接1.线性表线性表是 n(n ≥ 0)个数据特性相同的元素构成的有限序列。记为(a 1 , a 2 , …, a i-1 , a i ,a i+1 , …, a n ),其中 a i-1 是 a i 的直接前驱元素,a i+1 是 a i 直接后继元素,a 1 无前驱元素,a n 无后继元素。n 称为线性表的长度,当 n = 0 时,称为空表。例如,商品信息表 =(商品 1,商品 2,商品 3,商品 4,商品 5,商品 6……)线性表的抽象数据类型表示如下:线性表的存储线性表可以使用顺序存储结构存储(此时称为顺序表),也可以使用链式存储结构存储(此时称为链表)。1. 线性表的顺序存储大多数高级程序语言的数组在计算机内的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档