内容正文:
3.2数据结构
目标
了解python中的数据结构
了解掌握图、树、队的基本概念及特点
掌握数据类型
了解数据结构的物理结构
第一节
树结构
下面图片中出现了哪些地方,分别是什么关系?
下面图片中出现了哪些地方,分别是什么关系?
枣庄
山东
滕州
济宁
山西
太原
朔州
张辽南路
树结构
一种有层次关系的非线性结构
第一节
根节点/父节点
节点
树是由n(n≥0)个节点组成的有限集合
n=0,称为空树
任何一个非空树满足以下条件:
仅有一个称为根的节点、
当n>0,其余节点可分为m(m≥0)个互不相交的有限集合,其中每个集合又是一棵树,称为根的子树
在树结构中,数据元素之间是一对多的关系
A的子树
E,F的父节点
第二节
图结构
快递到了门房,规划到达以下四个地方的路线
❶
教学楼4
大门1
食堂2
宿舍3
❷
❸
❶
❷
❸
1
2
3
4
1
2
3
4
1
2
3
4
第二节
图结构
图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。
数据元素间是多对多的关系。
图可分为有向图和无向图
第三节
线性数据结构
第三节
线性数据结构
假设:取快递人多,需要排队
线性结构
线性数据结构——线性表,存储的数据类型相同
各元素之间相对位置固定
常见的有:栈、队、串
线性数据结构有两种编号方式
从首到尾 0,1,2,…
从尾到首 -1依次递增
第三节
前趋元素
当前元素
后继元素
扩展:数据类型
简单数据类型
复合数据类型
整数int
浮点数float
字符串str
布尔bool
字典dict
列表list
True(真)->1
False(假)->0
复数complex
扩展:数据类型
Python
中
使
用
Type
来
返
回
数
据
类
型
第三节
队结构
队列是一种有限制的线性结构,只能在一端依次添加(进队),在另一端依次删除(出队)
先进先出FIFO
例如:超市排队结账
使用pop(),append()可以删除、添加元素
队
>>> s=[1,8,5,6,9,7,4]
>>> s.pop(3)
6
>>> for i in s:
print(i)
1
8
5
9
7
4
>>> s.append(122)
>>> for i in s:
print(i)
1
8
5
9
7
4
122
第三节
线性数据结构
假设: