内容正文:
3.2数据与结构
海南华海中学 王娟
121%
0
更多精美模板请访问卡卡办公网:https://www.kakappt.com
任务一 探究网购订单处理
※ 活动1 了解订单数据,完成表3.2.1
网站
名称 订单中的
数据 对应的数据类型
电商网站 商品名称 字符串(str)
单价 浮点型(float)
数量 整形(int)
网站名称 订单中的
数据 对应的数据类型
高中学籍表 姓名 字符串
出生日期 日期型
是否为团员 布尔型(逻辑型)(bool)
True(真)和False(假)
8
数据结构
数据类型
简单数据类型
复合数据类型
不能分解成更小的数据类型。
如:整型(int)、浮点型(float)、字符串(str)、布尔型(bool)。
复合数据类型则由简单数据类型组成。
如:元组(tuple)、集合(set)、列表(list)、字典(dict)
数据结构是计算机存储、组织数据的方式
是存在特定关系的数据元素的集合
复合数据类型 创建方法 相同点 不同点
元组 tuple=( , ,) 包含多种数据类型 元组中的元素是不能修改、删除、添加
列表 List = [ , , ] 列表的元素可以随时修改、删除或添加
集合 Set = { , , } 集合中的元素是无序的、不可重复的
字典 Dict = { :[ ]} 字典是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储
8
活动2 编制订单数据处理程序
网店接受了大量的订单,网店在处理订单时,一般采取“先下单,先发货” 的原则。 因此,所有的订单将按照下单的时间顺序放进一个列表中,先放进去的先发货,所有订单排列在一起,像是一群人在排队。
Python程序可以实现以下功能:
1.提供 “添加订单 ”;
2.发货;
3.查看订单列表;
4.退出;
8
线性数据结构又称为线性表。除首元素没有前趋元素、尾元素没有后继元素外,其他元素都只有一个前驱一个后继元素。线性表中数据元素之间是一对一的关系。
线性数据结构——队列
活动2 编制订单数据处理程序
A
B
C
D
E
H
G
F
出队
入队
队首
队尾
队列是一种有限制的线性结构,它的数据元素只能在一端一次添加(进队),在另一端依次删除(出队)。特点:先进先出(FIFO)。举例:排队付款、过马路等。
alphabat.append(“I”) #添加尾元素
alphabat.pop(0) #删除首元素
8
任务二 探究快递派送过程
※ 活动1 了解快递派送线路
每个快递员只负责固定的派送范围,他们从快件派送点领取快件后,分别送往各自负责的快件领取点(比如小区门卫处、单位门卫处)或者具体用户。
8
树结构
(1)概念:一种具有层次关系的非线性结构。
(2)特征:一棵树(tree)是由n(n>0)个元素组成的有限集合(n=0为空树),其中:
①每个元素称为节点(node);
②有且仅有一个根节点或根(root);
③除根节点外,其余结点被分成m(m>=0)个互不相交的有限集合,而每个子集又都是一棵树(称为原树的子树)。
(3)性质:数据元素之间是一对多的关系。
在图中, 节点A为根节点,B、C、D为A的子树的根节点。同理,E、F、G是B的子树的根节点,B是E、F、G的父节点。在树结构中,
8
活动2 了解物流网络
由于需要综合考虑运营成本,商品在城市间运输的路线是需要计算和规划的。 请你查看图3.2.5中的物流过程,尝试用圆圈表示城市,用线段表示城市之间的送达关系,将图3.2.6补充完整,了解商品配送 的路线特点。
8
活动3 规划取快递最快路线
某同学网购的书已经到达家附近的快递门店,需要他自己去取。不巧的是, 这次购买的三本书是三个不同的物流公司派送的,他家与各快递门店的位置如右图所示。
该同学估算了在这些地点之间步行需要的时间, 详见表3.2.2 。
8
我们可以将该同学家和快递门店的位置抽象成顶点,两个位置间的不行线路抽象成边,边上的值表示步行时间。
活动3 规划取快递最快路线
在实际应用中,每条边可以标上具有某种含义的数值,该数值成为该边的权。
8
1
2
3
4
图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。
数据元素间是多对多的关系。
图可分为有向图和无向图
图结构
活动3 规划取快递最快路线
我们发现,分析过程的图形是树结构,树中的节点表示当前所在的位置,边表示选择的线路。利用树结构,我们能够更清晰地实现不重复、不遗漏地列举所有