(共20张PPT)
第3单元 认识数据
3.2数据与结构
必修1 数据与计算
目
录
1
知识梳理
2
巩固练习
利用计算机解决问题的过程,就是将问题中的已知数据输入计算机进行计算,然后输出结果数据的过程。为了方便对数据进行处理,我们可以选择合适的软件工具,根据问题的需要为数据抽象出合适的数据类型,然后对数据进行组织和计算。
1.数据类型
数据类型是用来定义一系列值及应用于这些值的一系列操作。如Python语言中的整数、浮点数、字符串、布尔等数据类型。
大多数程序设计语言都定义了两种数据类型,即简单数据类型和复合数据类型。
简单数据类型:不能分解为更小的数据类型,如整数、浮点数、字符串、布尔类型。
复合数据类型:由简单数据类型或复合数据类型组成,如列表、字典等。
常见数据类型:
(1)整数(int)
作用:表示人的年龄等。
定义方式:age=18 或者 age=int(18)
使用方法:加减乘除、逻辑判断(大于、小于)
(2)浮点数(float)
作用:表示身高、体重等。
定义方式:salary=2.1 或者 salary=float(2.1)
使用方法:加减乘除、逻辑判断(大于、小于)
(3)字符串(str)
作用:表示名字、爱好等。
定义方式:name= tom 或者name=str( tom )
使用方法:字符串只能+、*和逻辑比较,如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同。字符串的乘法只能乘以数字。字符串比较大小,按照ASCII码值进行比较。
(4)布尔类型(bool)
作用:用于判断条件结果。
定义方式:True、False通常不会直接引用,需使用逻辑运算得到结果。
使用方法:一般用在判断语句的返回值中。 比如 if 1<3 : print(1),
1<3 为真(True)所以会执行if 里的语句块,输出1。
(5)列表(list)
作用:存放多个值,如多个爱好。
定义方式:hobby_list=[ sing , jump , rap , basketball ]
使用方法:根据索引来引用列表里的元素。如:hobby_list[0]= sing 。
(6)字典(dict)
作用:用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。
定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。如user_info={ name : tom , age :19}。
使用方法:字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。如 user_info[ name ] = tom 。
2.数据结构
数据结构是指存在特定关系的数据元素的集合。在解决有些问题时,一些相关联的数据将集中在一起,形成一个数据的集合,这种集合能够单独或作为一个整体被访问和处理。常见的数据结构有线性数据结构和非线性数据结构。
3.线性数据结构
线性数据结构又称为线性表。在线性表中,除首元素没有前趋元素、尾元素没有后继元素外,其他元素都只有一个前趋元素和一个后继元素。线性表中数据元素之间是一对一的关系。如图所示:
·队列
队列是一种有限制(先进先出)的线性结构。它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)。
在Python语言中,对列表的操作通常有如下方法:pop(0)方法可以删除列表的首元素,append方法可以在列表尾部添加一个数据元素,insert方法可以用于实现在中间插入元素,count方法可以统计元素出现的次数,len可以获取列表的长度。
4.非线性数据结构
·树结构
树结构是一种具有层次关系的非线性结构,树是由n(n大于等于0)个节点组成的有限集合。
(1)空树:若n=0,则称为空树。
(2)非空树:任何一个非空树均满足以下两个条件:①仅有一个称为根的节点;②当n>0时,其余节点可分为m(m大于等于0)个互不相交的有限集合。
(3)子树:非空树中的每个集合又是一棵树,称为根的子树。
(4)根节点、子树的根节点、父节点:如图中A为根节点,B、D为A的子树的根节点,B是E、F、G的父节点。
(5)树结构中数据元素之间是一对多的关系。
·图结构
图结构是指由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。
(1)图结构中的每个顶点都可以与其他顶点有边相连。
(2)边是顶点和顶点之间的连线,可以是有向的,也可以是无向的。
(3)相邻顶点:由一条边连接在一起的顶点称为相邻顶点。
(4)图结构中数据元素之间是多对多的关系。
在树形结构中,结点间具有分支层次关系,每一层上的结点只能和上一层中的至多一个结点相关,但可能和下一层的多个结点相关。
在图形结构中,任意两个结点之间都可能相关,即结点之间的邻接关系可以是任意的。
1.下列选项中,具有线性结构的数据结构是( D )。
A.图 B.树 C.堆 D.队列
2.队列的插入操作是在( A )进行的。
A.队尾 B.队首
C.队列任意位置 D.队首元素后
3.依次在初始为空的队列中插入元素a、b、c、d以后,紧接着做了两次删除操作,此时的队首元素是( C )。
A.a B.b C.c D.d
D
A
C
4.树最适合用来表示( D )。
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
5.下列数据结构中,哪种数据元素之间是多对多的关系?( B )
A.队列 B.图结构 C.树结构 D.栈
D
B