牛客网专项训练——4
题目来源:https://www.nowcoder.com/
题目一:
选A
分析:
广义表(Lists,又称列表)是一种非线性的数据结构 ,是 线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构,二维数组也可以看成是一维数组,只不过这个一维数组的类型为数组。
题目二:
选A
分析:稀疏矩阵有两种压缩存储方式,一个是三元组,一个是十字链表
题目三:
选D
分析:进行压缩,减少了存储的空间
题目四:
选C
分析:
float一般为4个字节,以0做下标,15*4+200=260
题目五:
选C
题目六:
选A
分析:
分情况讨论:
1. 若f<r<=m, 则有r-f <m,即队尾没有超出边界,则为r-f
2. 若r<f<=m, r-f < 0, 即队尾超出边界m,那么应为m+r -f
综合两种情况,得到答案 (m+r-f) mod m
题目七:
选B
分析:
A.原生类指未被实例化的类,数组一般指实例化,被分配空间的类,不属于原生类.
B.对象的特点是封装了一些数据,同时提供了一些属性和方法,从这个角度来讲,数组是对象
C.格式有误
D.数组的大小确定之后不可改变
题目八:
选A
分析:(57*60+31)*2+10000= 16902
题目九:
选D
分析:short的大小为2字节
题目十:
选B
题目十一:
选C
分析:
数组元素个数为
4
,下标在
0
~
3
内即为合法,k+
5
下标越界。
题目十二:
选A
题目十三:
选B
分析:list 底层数据结构为双向链表,支持快速增删
题目十四:
选B
分析:最坏情况为: 每比较一次,只确定一个元素的位置(最后一次比较确定两个元素的位置,即倒数第一个和倒数第2个),所以总的最坏比较次数为2n-1.
题目十五:
选D
题目十六:
选C
分析:
第一次 index=(0+10)/2=5 对应32 ; 比15大 所以下次范围是 0到4
第二次 index=(0+4)/2=2 对应15 找到
题目十七:
选B
分析:66*3-(3-(65-1)%3)-1=195
题目十八:
选C
分析:Sort是从小到大排序,在执行绝对值计算后应该是开头是3结尾是10,a是降序
题目十九:
选C
分析:
先看未定义标识符p,p的左边是*,*p表示一个指针,跳出括号,由于[]的结合性大于*,所以*p指向一个大小为10的数组,即(*p)[10]。左边又有一个*号,修释数组的元素,*(*p)[10]表示*p指向一个大小为10的数组,且每个数组的元素为一个指针。跳出括号,根据右边(int *)可以判断(*(*p)[10])是一个函数指针,该函数的参数是int*,返回值是int。
题目二十:
选ABC
部分为参考牛客网见解