内容正文:
3.2 数据与结构
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.下列属于C语言提供的合法数据关键字的是( )
A.Float B.double C.ingned D.Char
2.关于数据结构的描述,以下选项中错误的是( )
A.数据结构指相互有关联的数据元素的集合
B.数据的存储结构有顺序存储、链接存储、索引存储和散列存储
C.数据结构不可以直观地用图形表示
D.数据的逻辑结构主要有集合结构、线性结构、树结构和图结构四种类型
3.在单向链表如下图所示,在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.⑤②④
4.关于栈,下列说法错误的是( )
A.栈是先进后出(FILO)表。它的数据元素只能在同一端(称为栈顶)进行操作,添加(进栈),删除(出栈)
B.pop(0)方法可以删除列表的尾元素(相当于栈的“出栈”操作)
C.pop()方法可以删除列表的尾元素(相当于栈的“出栈”操作)
D.append方法可以在列表尾部添加一个数据元素(相当于栈的“入栈”操作)
5.由一组节点(称为顶点)和一组节点间的连线(称为边或弧),构成的一种数据结构是( )
A.图结构 B.选择结构 C.线性结构 D.树结构
6.Python的集合中,“&”表示两集合的交集、“-”表示两集合的差集、“|”表示两集合的并集、“^”表示两集合的对称差,对于BookInfo1={9,8,7,6,5,4,3},BookInfo2={1,2,3,4,5,6,7},下列选择错误的是( )
A.print(BookInfo1&BookInfo2)执行后输出的值是:{3,4,5,6,7,8}
B.print(BookInfo1-BookInfo2)执行后输出的值是:{8,9}
C.print(BookInfo1^BookInfo2)执行后输出的值是:{1,2,8,9}
D.print(BookInfo1|BookInfo2)执行后输出的值是:{1,2,3,4,5,6,7,8,9}
7.数据结构也称逻辑结构,以下不是数据结构的是( )
A.集合结构 B.线性结构 C.网状结构 D.顺序结构
8.某DataFrame对象df中包含“品牌”、“销量”等手机月销售量的信息,下列语句能输出销量大于1000的记录的是( )
①print(df.销量>1000) ②print(df[df.销量>1000]) ③print(df[df['销量']>1000]) ④print(df.head(1000))
A.①② B.①③ C.②③ D.②④
9.下列关于数据结构的说法,正确的是( )
A.用程序实现问题解决时只能采用一种数据结构
B.数据的逻辑结构是指数据元素间的关系
C.链表比数组更适合大量数据元素的随机访问
D.数组不必占用一片连续存储的单元
10.已知字典d={1:2,'a':'b',2:'b','b':4,3:'10'},下列说法正确的是( )
A.int(d[3],2)的值为1010 B.d[1]+d['b']的值为'24'
C.d[1]+d['a']的值为'2b' D.d[2] in d的值为True
11.下列不属于简单数据类型的是( )
A.浮点型 B.整型 C.列表 D.布尔型
12.下列不属于复合数据类型的是( )
A.元组 B.整型 C.列表 D.集合
13.在树形结构中,每个节点除了连接它的父节点外,可以有多个子节点,这种结构称为( )
A.线性结构 B.分层结构 C.树状结构 D.网状结构
14.如图所示的线性数据结构,下列说法错误的是( )
A.正向编号,首元素索引号为0,向后走,索引号递增
B.反向编号,尾元素编号为-1,向首元素方向依次递减
C.线性数据结构只包括队列与栈
D.栈:后进先出,添加和删除都在栈顶实现,队列:先进先出,删除在队首,添加在队尾
15.每次考试结束后,学校都要将考试成绩进行分析并存储,以便于老师们随时随地查阅。数据存储应该采取的方式为( )
A.非结构化存储 B.云存储 C.本地存 D.本地存储和云存储
16.某同学网购的书,三本书是三个不同的物流公司派送的,将图中每个节点进行编号,作为根节点的“家”编号为“H”,其3个子节点(快递门店A,快递门店B,快递门店C)分别编号为“A” “B” “C”,图中两结点的连接线表示“权”,值为用时,详见下图。依次列出所有可能走法的分析树,求出取书用时最短时的路径,下列选择正确的是( )
A.H-A-C-B-H B.H-C-B-A-H C.H-A-B-C-H D.H-B-A-C-H
17.在排序算法中,选择结构通常用于( )
A.快速排序 B.归并排序 C.堆排序 D.所有以上排序算法
18.队列属于( )
A.线性结构 B.树结构 C.图结构 D.以上均不是
19.以下哪个排序算法通常用于小规模数据的排序( )
A.快速排序 B.归并排序 C.插入排序 D.计数排序
20.以下不是简单数据类型的是( )
A.float B.str C.bool D.dict
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题主要考查C语言数据关键字。Float是浮点型数据类型,double是双精度浮点型数据类型,Char是字符型数据类型,故本题选C选项。
2.C
【详解】本题主要考查数据结构。数据结构指相互有关联的数据元素的集合;数据的存储结构有顺序存储、链接存储、索引存储和散列存储;数据结构可以直观地用图形表示,如图结构等;数据的逻辑结构主要有集合结构、线性结构、树结构和图结构四种类型,故本题选C选项。
3.B
【详解】本题主要考查链表的操作。在data2与data3之间插入一个新节点data4,p指向data2,r指向data4,则正确的步骤是,先将r的next指针域指向p的next节点,其次更新p的next为r,故分别是:next[r]= next[p] 和next[p]= r ,故本题选B选项。
4.B
【详解】本题主要考查栈数据结构。栈是先进后出(FILO)表。它的数据元素只能在同一端(称为栈顶)进行操作,添加(进栈),删除(出栈);pop()方法可以删除列表的尾元素(相当于栈的“出栈”操作);append方法可以在列表尾部添加一个数据元素(相当于栈的“入栈”操作),故本题选B选项。
5.A
【详解】本题考查数据结构。由一组节点(称为顶点)和一组节点间的连线(称为边或弧),构成的一种数据结构是图结构。树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。线性结构是一个有序数据元素的集合。故本题选A。
6.A
【详解】本题考查集合。A选项输出的结果应该是3、4、5、6、7,而不是3、4、5、6、7、8。其它选项正确。故正确答案为选项A。
7.D
【详解】本题考查数据结构相关知识。数据结构也称逻辑结构,数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。集合结构,线性结构,网状结构都属于数据结构。选项D不属于数据结构,它是算法的结构。故本题选D。
8.C
【详解】本题考查的是python中对象的列值表示方法。print(df[df.销量>1000])、print(df[df['销量']>1000])的表示方法是正确的。故选项C正确。
9.B
【详解】本题主要考查数据结构的描述。用程序实现问题解决时能采用多种数据结构,数据的逻辑结构是指数据元素间的关系,数组更适合大量数据元素的随机访问,数组必须占用一片连续存储的单元,故本题选B选项。
10.D
【详解】本题主要考查字典数据结构。d[3]='10',int(d[3],2)表示将d[3]的字符串'10'转换为二进制数是2,故int(d[3],2)的值为2;d[1]=2,d['b']=4,则d[1]+d['b']的值为6;d[1]=2,d['a']='b',两者不能直接做运算;d[2]='b',故表达式d[2] in d的值为True,故本题选D选项。
11.C
【详解】本题考查Python数据类型相关内容。在Python中,列表属于复合数据类型。浮点型、整型、布尔型属于简单数据类型。故本题答案是C选项。
12.B
【详解】本题考查Python数据类型相关内容。在Python中,复合数据类型是指能够存储多个值的数据类型。Python提供了多种复合数据类型,包括:列表、元组、集合和字典。列表是一种有序、可变的数据类型;元组是一种有序、不可变的数据类型;集合是一种无序、可变的数据类型,且不能存储重复的值;字典由键值对组成,其中每个键都对应一个值。这些数据类型允许我们在一个变量中存储多个值,而且这些值可以是不同类型的数据。故本题答案是B选项。
13.C
【详解】本题考查树形结构。在树形结构中,每个节点除了连接它的父节点外,还可以有多个子节点,这种结构称为树状结构。树状结构是一种分层的层次结构,但它特指的是具有父子关系的节点结构。线性结构是指数据按顺序排列,网状结构是指节点之间可以有多对多的关系。故选C。
14.C
【详解】本题主要考查数据结构。正向编号,首元素索引号为0,向后走,索引号递增;反向编号,尾元素编号为-1,向首元素方向依次递减;线性数据结构包括队列、栈、线性表及数组等;栈:后进先出,添加和删除都在栈顶实现,队列:先进先出,删除在队首,添加在队尾,故本题选C选项。
15.D
【详解】本题主要考查数据存储。每次考试结束后,学校都要将考试成绩进行分析,适合采取本地存储;以便于老师们随时随地查阅,应采取云存储方式,故本题选D选项。
16.A
【详解】本题主要考查图结构和数结构。图中的图结构可以转换为下图的数结构,依次计算每一种情况,其中路径H-A-C-B-H、H-B-C-A-H用时最短,其时长为2+6+4+5=17,故本题选A选项。
17.D
【详解】本题考查排序算法。在排序算法中,选择结构的用途是多样的。快速排序、归并排序、堆排序在它们的实现过程中都会用到选择结构。故答案为D选项。
18.A
【详解】本题考查数据结构相关内容。数据结构分为集合、线性结构、树结构、图结构。队列属于线性结构,其操作特点是:先进先出。故本题答案是A选项。
19.C
【详解】本题考查排序算法。插入排序在小规模数据集上表现良好,因为其简单性和低开销。尽管其最坏情况下的时间复杂度为O(n^2),但在数据量较小的情况下,插入排序的常数因子较小,实际运行速度较快。快速排序和归并排序在大规模数据集上表现更优,而计数排序适用于特定范围内的整数排序。故答案为C选项。
20.D
【详解】本题考查的是数据类型。float是浮点型数据,str是字符型,bool是布尔型,dict是字典。字典不是简单数据类型,故应选D。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$