架构师面试题 -常见的数据结构与算法 数组(共30题,含答案)
1.矩阵中的⾏列数可以是不相等的,这样的说法正确吗?
A.正确
B.不正确
2.对矩阵压缩存储是为了
A.⽅便运算
B.⽅便存储
C.提⾼运算速度
D.减少存储空间
3.⼀维数组与线性表的区别是
A.前者⻓度固定,后者⻓度可变
B.后者⻓度固定,前者⻓度可变
C.两者⻓度均固定
D.两者⻓度均可变
4.在以下的叙述中,正确的是
A.线性表的顺序存储结构优于链表存储结构
B.⼆维数组是其数据元素为线性表的线性表
C.栈的操作⽅式是先进先出
D.队列的操作⽅式是先进后出
5.顺序存储⽅式插⼊和删除时效率太低,因此它不如链式存储⽅式好。
A.T
B.F
6.数组是⼀种线性结构,因此只能⽤来存储线性表
A.对
B.错
7.设有⼀个⼆维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在
676(10),每个元素占⼀个空间,问A[3][3](10)存放在什么位置?
脚注(10)表示⽤10进制表示
A.688
B.678
C.692
D.696
8.定义了⼀维int 型数组a[10] 后,下⾯错误的引⽤是
A.a[0] = 1;
B.a[0] = 5*2;
C.a[10] = 2;
D.a[1] = a[2] * a[0];
9.在⼀个⻓度为n的顺序表中删除第i个元素,要移动_______个元素。如果要在第i个元素前插⼊⼀个元素,要后移_________个元素。
A.n-i,n-i+1
B.n-i+1,n-i
C.n-i,n-i
D.n-i+1,n-i+1
10.已知10*12 的⼆维数组A ,以⾏序为主序进⾏存储,每个元素占1 个存储单元,已知A[1][1] 的存储地址为420 ,则A[5][5] 的存储地址为
A.470
B.471
C.472
D.473
11.取线性表的第i个元素的时间同i的⼤⼩有关。
A.T
B.F
12.若要定义⼀个具有5 元素的整型数组,以下错误的定义语句是
A.int a[5] = {0};
B.int a[] = {0, 0, 0, 0, 0};
C.int a[2+3];
D.int i = 5, a[i];
13.⻓度为n 的⾮空顺序表,若在第i个位置插⼊新的元素X,则i的取值范围是
1≤i≤n+1,需要移动的元素个数为
A.i
B.n-i-1
C.n-i
D.n-i+1
14.设有⼀个10阶的对称矩阵A,采⽤压缩存储⽅式,以⾏序为主存储,a11为第⼀元素,其存储地址为1,每个元素占⼀个地址空间,则a85的地址为
A.13
B.33
C.18
D.40
15.设⼀维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为
A.O(n)
B.O(nlog2n)
C.O(1)
D.O(n2)
16.定义语句"double * array [8]"的含义正确的是
A.array是⼀个指针,它指向⼀个数组,数组的元素时是双精度实型
B.array是⼀个数组,数组的每⼀个元素是指向双精度实型数据的指针C
C语⾔中不允许这样的定义语句
D.以上都不对
17.有⼀个⽤数组]表示的环形队列,m为数组的⻓度。假设f为队头元素在数组中的位置,r为队尾元素的后⼀位置(按顺时针⽅向)。若队列⾮空,则计算队列中元素个数的公式应为?
A.(m+r-f)mod m
B.r-f
C.(m-r+f) mod m
D.(m-r-f) mod m
jsarray删除元素E.(r-f) mod m
F.需要判断边界
18.For the following Java or C# code(3 Points),What will my Array3[2][2] returns?
int [][] myArray3 =
new int[3][]{
new int[3]{5,6,2},
new int[5]{6,9,7,8,3},
new int[2]{3,2}
};
A.9
B.2
C.6
D.Overflow
19.线性表是________。
A.⼀个有限序列,可以为空
B.⼀个有限序列,不可以为空
C.⼀个⽆限序列,可以为空
D.⼀个⽆限序列,不可以为空
20.将⼀个A[1..100,1..100]的三对⻆矩阵,按⾏优先存⼊⼀维数组B[1..298]中,A中元素A6665 (即该元素下标i=66,j=65),在B数组中的位置K为()供选择的答案:
A.198
B.195
C.197
21.设A是n*n的对称矩阵,将A的对⻆线及对⻆线上⽅的元素以列为主的次序存放在⼀维数组(n+1)/2]中,对上述任⼀元素aij (1≤i,j≤n,且i≤j)在B中的位置为
A.i(i-1)/2+j
B.j(j-1)/2+i
C.j(j-1)/2+i-1
D.i(i-1)/2+j-1
22.下列给定程序中,函数fun的功能是:求ss所指字符串数组中⻓度最短的字符串所在的⾏下标,作为函数值返回,并把其串⻓放在形参n所指的变量中。ss所指字符串数数组中共有M个字符串,且串⻓⼩于N。请在程序的下画线处填⼊正确的内容并将下画线删除,使程序得出正确的结果。
试题程序