(共17张PPT)
3.2 数据与结构
(第一课时)
框架完整·扁平化呈现·绝对专业·超级吸睛
项目 核酸检测排队中隐藏的数据结构
自2020年初,突如其来的新冠疫情让我们猝不及防。党和国家对此十分重视,全国迅速展开了抗击疫情的战争,也取得了很好的效果。
今年疫情又有反扑趋势,我市也有新冠确诊病例。目前,我们在校生已经做了很多次核酸检测。那么在核酸检测中,其实隐藏着我们要学习的数据结构,让我们一起在数据结构中体会核酸检测排序的“秘诀”……
PROJECT PEOFILE
活动1 核酸检测排队使用了哪种数据结构?
我们对于核酸检测一点也不陌生,近期学校也定期组织我们进行核酸检测。
思考:
1.在核酸检测过程中,有什么注意事项?
2.我们是如何排队和离开的?
PROJECT PEOFILE
活动1 核酸检测排队使用了哪种数据结构?
1.注意事项:
自觉佩戴口罩;
间隔一米;
提前出示采样码
2.先排队检测的先离开
思考.
先检测先离开,这样有什么好处?
这是一种什么数据结构呢?
温故知新:数据类型
在Python中,有整数、浮点数、字符串、布尔、日期等数据类型。这些都是简单数据类型。
还有一种叫复合数据类型,它是由简单数据类型或者复合数据类型组成的,如列表、字典等都属于复合数据类型。
如:orderList=[”张三”,16,34.66] 列表名为orderList,第一项是字符串类型,第二项是整数类型,最后一项是浮点数类型。
知识点1:数据结构
数据结构 是存在特定关系的数据元素的结合。在解决有些问题时,一些相关联的数据将集中在一起,形成一个数据的集合,这种集合能够单独或作为一个整体被访问和处理。
数据结构也成为逻辑结构,主要有集合结构、线性结构、树结构和图结构(又称为网状结构)四种。
知识点2:线性数据结构
线性数据结构又称为线性表。在线性数据结构中,除了首元素没有前驱元素、尾元素没有后继元素外,其他元素都只有一个前驱元素和一个后继元素。元素之间是一对一的关系。
知识点3:线性数据结构—队列
队列 是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)。
想一想
生活中队列的例子有哪些呢?
如超市里排队付款的队伍。
………………
放学排队离校
去医院挂号就医
每周做核酸检测
思考.
回想我们核酸检测排队的场景,这是一种线性数据结构——队列。
队列有什么特点呢?
知识点3:队列的特点
队列的特点:先进先出
在python中的列表数据类型,可以实现线性结构组织的数据元素的存储和操作。用列表的pop(0)方法可以删除列表的首元素,append方法可以在列表尾部添加一个数据元素。利用列表模拟队列中数据元素的进队和出队操作。
思考.
在餐厅就餐,我们首先要取自己的餐盘,我们取盘子的时候一般是先拿上面的盘子,但是餐厅工作人员在放置餐盘的时候却是从下往上放置的。
这也是一种线性结构,但是不同于我们所学的队列,那这是一种什么数据结构呢?
拓展.
另一种线性数据结构——栈
栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。
栈的特点是:从栈顶放入元素的操作叫入栈,取出元素叫出栈。
先进后出,
后进先出
比一比 队列和栈的区别联系
结构类型 数据节点之间的关系 生活中相应结构应用举例
栈(线性) 一对一 一摞书、一摞盘子
队列(线性) 一对一 排队(做核酸、过马路、上车、付款)、医院排队就诊、银行叫号
上机练习
试着模仿订单数据处理程序,编写单车道死胡同停车管理程序。
课堂小结
1.数据类型:简单数据类型和复合数据类型
2.线性数据结构:一对一
3.队列:先进先出
4.栈:先进后出