(共21张PPT)
3.2 数据与结构
主讲人:XXX
面对疫情我们仍最需要的物资是什么?
导入
是口罩!
现在假设同学们是在淘宝开店,面对大量的口罩购买的订单,该如何处理?
导入
请同学们根据“口罩的订单数据”图片,结合之前学习的知识思考并完成任务单上的表格1。
活动1—了解订单数据
在Python语言中,简单数据类型有整数(int)、浮点数(float)、字符串(str)、布尔(bool)等数据类型。复合数据类型有元组(tuple)、集合(set)、列表(list)、字典(dict)等。
活动1—了解订单数据
分析了大量的订单数据后,如何安排发货呢 请同学们三人为一组进行讨论,并给出一个完整的发货流程。
活动2—订单数据处理程序
(提示:网店在处理订单时,一般采取“先下单,先发货”的原则。)
请同学们小组合作完善电脑上的Python 程序,模拟添加订单和发货的过程,了解订单列表的操作过程。
活动2—订单数据处理程序
数据结构是存在特定关系的数据元素的集合。
常用的数据结构有:数组,栈,链表,队列,树,图,堆等。
数据结构
活动2—订单数据处理程序
线性数据结构又称为线性表。
特点:在线性数据结构中,除首元素没有前趋元素、尾元素没有后继元素外,其他元素都只有一个前趋元素和一个后继元素,如图所示。线性表中数据元素之间是一对一的关系。
线性数据结构
活动2—订单数据处理程序
队列
队列是一种有限制的线性结构,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)。
典型的例子如超市里排队付款的队伍。
pop(0)方法可以删除列表的首元素,append方法可以在列表尾部添加一个数据元素。
活动2—订单数据处理程序
在我们进行网络购物后,快递员要把快递派送到我们手中,同学们想知道整个快递配送过程吗?
请同学们完成任务单上的线路图,让快递件送到两个同学和两个职工手中。
活动3—探究快递派送过程
这个线路图属于什么数据结构呢?
对于快递公司来说有很多不同城市的快递件,那考虑到运营成本,要怎样规划快递在不同城市间的最佳运输路线呢?
1
2
活动3—探究快递派送过程
请同学们小组内合作讨论并完成以下两个问题:
问题1
树结构:树结构是一种具有层次关系的非线性结构。
在树结构中,数据元素之间是一对多的关系。
活动3—探究快递派送过程
问题1
树的递归定义如下:
树是由n( n>=0 )个节点组成的有限集合。若n=0,则称为空树。任何一个非空树均满足以下两个条件:
(1)仅有一个根节点。
(2)当n>0时,其余节点可分为m(m>=0)个互不相交的有限集合,其中每个集合又是一棵树,并称为根的子树。
活动3—探究快递派送过程
问题2
图结构:图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。
每个顶点都可以与其他顶点有边相连,图结构中数据元素之间是多对多的关系。
活动3—探究快递派送过程
巩固练习
请同学们分析队列、树、图三种结构的区别,并将结果填写在任务单的表格2中。
巩固练习
结构类型 数据(节点)之间的关系 生活中相应结构应用举例
队列 (线性) 一对一 超市排队付款等
树 一对多 书的目录结构等
图 多对多 铁路运输图等
不能分解成更小的数据类型;
小结
简单
复合
数据类型
由简单数据类型组成。
元组(tuple )、集合(set)、列表(list)、字典(dict)等。
包括整型(int)、浮点型(float)、字符串(str)、布尔型(bool)等。
通过本节课我们主题是网络购物,整个过程围绕口罩的订单、配送、派送和取件展开,我们学习到了几种不同的数据结构。
我们学习到队列、树、图等数据结构,了解结构中数据间的关系,在一定的结构上完成算法设计;我们要学会在生活中根据实际问题,建立合适的数据结构,进而运用所学的知识解决问题。
小结
课后作业:
请同学们课后深入学习自己感兴趣的一种数据结构。
作业
感谢观看!
主讲人:XXX