内容正文:
3.2 数据与结构2024-2025学年高中信息技术教科版(2019)必修1
一、选择题
1.一个汉字的存储容量约为( )。
A.1b B.2b C.8b D.16b
2.下列选择中数据结构不是图结构的是( )
A.城市交通图(铁路网,公路网,航空网) B.电话网
C.公司组织架构图 D.互联网
3.关于线性链表的描述,以下选项中正确的是( )
A.存储空间不一定连续,且各元素的存储顺序是任意的
B.存储空间必须连续,且各元素的存储顺序是任意的
C.存储空间不一定连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且前件元素一定存储在后件元素的前面
4.在树形结构中,没有的是()?
A.根的父节点 B.父节点 C.根 D.子树
5.全国航运图属于( )
A.线性结构 B.树结构 C.图结构 D.以上均不是
6.在单向链表如下图所示,在data2与data3之间插入一个新节点data4(p指向data2,r指向data4。列表data来记录链表数据域,列表next来记录指针域),在以下选项中选择正确的执行步骤( )
①next[p]= next[r] ②next[p]= r ③next[r]= p
④next[r]= -1 ⑤next[r]= next[p] ⑥next[p]= -1
A.③⑥ B.⑤② C.①④ D.⑤②④
7.以下是简单数据类型的是( )
A.tuple B.set C.int D.list
8.某公司内部管理的组织关系如图所示。通过观察可知,该组织形式是一种树形结构,下列说法不正确的是( )
A.该树的根节点是“总经理室”
B.“销售部”节点的父节点是“业务部”节点
C.“技术部”节点是“项目部”节点和“运维部”节点的父节点
D.该树中,数据元素之间是多对多的关系
9.以下关于数据结构的描述,不正确的是( )
A.数据的逻辑结构是指数据元素之间的逻辑排列和对应关系
B.数据的存储结构包括数据元素的存储及数据元素之间关系的存储
C.数据的运算是指对数据施加的操作,包括删除、查找、插入数据等
D.数据结构设计时不需要考虑编程实现和数据处理的效率
10.关于队列,下列说法错误的是( )
A.队列是先进先出(FIFO)表,它的数据元素只能在一端依次添加(进队),在另一端依次删除(出队)
B.pop()方法可以删除列表的首元素(相当于队列的“出队”操作)
C.pop(0)方法可以删除列表的首元素(相当于队列的“出队”操作)
D.append方法可以在列表尾部添加一个数据元素(相当于队列的“入队”操作)
11.下列关于数据结构的说法,正确的是( )
A.用程序实现问题解决时只能采用一种数据结构
B.数据的逻辑结构是指数据元素间的关系
C.链表比数组更适合大量数据元素的随机访问
D.数组不必占用一片连续存储的单元
12.在python中{}是用来创建( )
A.集合 B.列表 C.元组 D.字典
13.Python的元组与列表类似,下列说法错误的是( )
A.元组的元素不能修改,元组中只包含一个元素时,需要在元素后面添加逗号
B.元组使用小括号,列表使用方括号
C.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
D.元组BookInfo1=("ID2315937",20,2),BookInfo1[2]=4用于修改元组BookInfo1[2]的值
14.程序的基本结构不包括( )
A.顺序结构 B.逻辑运算结构 C.选择结构 D.循环结构
15.图结构是由一组节点(称为顶点)和一组节点间的连线(称为边或弧)构成的一种数据结构。图结构中的每个顶点都可以与其他顶点有边相连,下列说法错误的是( )
A.图结构中数据元素之间是一对多的关系
B.图可以分为有向图和无向图
C.相连顶点之间的边或弧叫权,权表示两个节点之间的某种关系
D.图上的边或弧带权则称为网,可分为有向网和无向网
16.下列哪种数据结构不是线性结构( )
A.数组 B.链表 C.栈 D.二叉树
17.栈和队列的主要区别在于它们的数据访问方式,栈使用的是( )
A.顺序访问 B.随机访问 C.后进先出原则 D.先进后出原则
18.下列有关数据结构的说法正确的是( )
A.数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构
B.链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的
C.链表在访问、插入和删除元素时,算法效率比数组高
D.树结构中,每个子节点的父节点可以有多个
19.某DataFrame对象df中包含“品牌”、“销量”等手机月销售量的信息,下列语句能输出销量大于1000的记录的是( )
①print(df.销量>1000) ②print(df[df.销量>1000]) ③print(df[df['销量']>1000]) ④print(df.head(1000))
A.①② B.①③ C.②③ D.②④
20.树的递归定义如下:树是由n(n( ) )个节点组成的( )集合。若n( ),则称为( )。任何一个非空树均满足以下二个条件:(1)仅有一个( )。(2)当n>0时,其余节点可分为m(m>=0)个互不相交的有限集合,其中每个集合又是一棵树,并称为( )。
A.>0;有限;=0;空树;根节点;根的子树
B.>=0;有限;>0;空树;根节点;根的子树
C.>=0;有限;=0;空树;根的子树;根节点
D.>=0;有限;=0;空树;根节点;根的子树
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查数据单位。计算机中最小单位为bit(位),8bit=1Byte,1024Byte=1KB,1024KB=1MB,1024MB=1GB。一个汉字的存储容量约为16b,即两个字节。故本题D选项为正确选项。
2.C
【详解】本题考查了图结构的基本概念。图结构是一种由顶点和边组成的数据结构,用于表示对象及其相互关系。城市交通图(铁路网,公路网,航空网)、电话网和互联网都可以用图结构来表示,其中顶点表示城市、电话节点或网络节点,边表示它们之间的连接关系。而公司组织架构图通常表示为树结构,其中每个节点代表一个职位或部门,边表示上下级关系,不符合图结构的定义。故答案为:C。
3.A
【详解】本题考查线性链表。具有链接存储结构的线性表,它用一组地址任意的存储单元存放线性表中的数据元素,逻辑上相邻的元素在物理上不要求也相邻。选项A正确,其它选项错误。故正确答案为选项A。
4.A
【详解】本题主要考查树形结构。一个树结构包含一系列存在父子关系的节点。每个节点都有一个父节点(除了顶部的第一个节点)以及零个或多个子节点,因此A选项符合题意。
【点睛】
5.C
【详解】本题考查图数据结构的描述。图是最为复杂的数据结构,如果数据元素之间存在一对多或者多对多的关系,那么这种数据的组织结构就叫作图结构。全国航运图存在多对多的关系,属于图结构。线性结构和树结构不存在多对多的关系。故选C。
6.B
【详解】本题主要考查链表的操作。在data2与data3之间插入一个新节点data4,p指向data2,r指向data4,则正确的步骤是,先将r的next指针域指向p的next节点,其次更新p的next为r,故分别是:next[r]= next[p] 和next[p]= r ,故本题选B选项。
7.C
【详解】本题考查的是数据类型。tuple是元组,set是集合,int是整型,list列表。int是简单数据类型,故选项C正确。
8.D
【详解】本题考查树形结构。
该树中,数据元素之间是多对多的关系。在树形结构中,每个节点(除了根节点)都有一个父节点,而每个节点可以有多个子节点(但不是必须的)。但重要的是,每个父节点与其子节点之间的关系是一对多的,即一个父节点可以有多个子节点,但每个子节点只能有一个父节点(除了根节点没有父节点)。因此,在树形结构中,数据元素之间并不是多对多的关系,而是一对多(或零对多,考虑根节点)的关系。此选项不正确。其它选项均正确,故正确答案为:选项D。
9.D
【详解】本题考查数据结构基本概念。数据的逻辑结构是指数据元素之间的关系和组织方式,包括线性结构、树形结构、图形结构等,A选项正确;数据的存储结构是数据在计算机中的表⽰(⼜称映像)⽅法,是数据的逻辑结构在计算机中的存储实现,因此在存储时应包含两⽅⾯的内容——数据元素本⾝及数据元素之间的关系,B选项正确;数据的运算是指对数据施加的操作,包括插入、删除、查找数据等,C选项正确;在设计的过程中,需要根据实际需求选择合适的算法,并考虑编程实现和数据处理的效率(时间复杂度),D选项错误。故本题答案是D选项。
10.B
【详解】本题考查数据结构。pop()方法是删除列表的最后一个元素,而不是首元素,这是错误的。其它选项正确。故正确答案为选项B。
11.B
【详解】本题主要考查数据结构的描述。用程序实现问题解决时能采用多种数据结构,数据的逻辑结构是指数据元素间的关系,数组更适合大量数据元素的随机访问,数组必须占用一片连续存储的单元,故本题选B选项。
12.AD
【详解】本题考查Python程序设计相关内容。列表用方括号“[]”来定义,元组可以用圆括号“()”来定义,集合可以用大括号“{}”来定义,字典用大括号“{}”来定义,故本题答案是AD选项。
13.D
【详解】本题考查元组。元组的元素是不可修改的,因此 BookInfo1[2]=4是错误的,无法修改元组元素的值。其它选项正确。故正确答案为选项D。
14.B
【详解】本题主要考查程序基本控制结构。程序的基本结构包括:顺序结构、选择结构和循环结构,故本题选B选项。
15.A
【详解】本题主要考查图结构。图结构中数据元素之间是多对多的关系;图可以分为有向图和无向图;相连顶点之间的边或弧叫权,权表示两个节点之间的某种关系;图上的边或弧带权则称为网,可分为有向网和无向网,故本题选A选项。
16.D
【详解】本题考查数据结构。线性结构是指数据元素之间存在一对一的线性关系。数组、链表和栈都是线性结构,而二叉树是一种非线性结构。故答案为:D。
17.C
【详解】本题考查栈和队列。栈(Stack)是一种后进先出(LIFO, Last In First Out)的数据结构,这意味着最后加入栈的数据最先被移除。因此,栈使用的是后进先出原则。故选C。
18.B
【详解】本题考查数据结构。A选项错误。数组在涉及频繁插入与删除时,由于元素在数组中的位置是固定的,插入和删除可能涉及移动大量元素,效率较低。B选项正确。链表中的元素通过指针链接,每个元素保存下一个元素的地址,从而形成逻辑上的顺序。C选项错误。链表在插入和删除元素时确实具有较高的灵活性和效率,但在访问元素时,由于需要遍历链表,效率相对较低,特别是对于随机访问。D选项错误。在一棵树中,每个子节点只有一个父节点,这是树结构的基本特性。故答案为:B。
19.C
【详解】本题考查的是python中对象的列值表示方法。print(df[df.销量>1000])、print(df[df['销量']>1000])的表示方法是正确的。故选项C正确。
20.D
【详解】本题主要考查数据结构相关知识。树的递归定义如下:树是由n树的递归定义如下:树是由n(n>=0)个节点组成的有限集合。若n=0,则称为空树。任何一个非空树均满足以下二个条件:(1)仅有一个根节点。(2)当n>0时,其余节点可分为m(m>=0)个互不相交的有限集合,其中每个集合又是一棵树,并称为根的子树,因此D选项正确。
【点睛】
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$