赞
踩
1、已知二维数组 A 按行优先方式存储,每个元素占用 1 个存储单元。若元素 A[0][0] 的存储地址是 100,A[3][3] 的存储地址是 220,则元素 A[5][5] 的存储地址是:B
A.295
B.300
C.301
D.306
解析:
首先分析题干信息,按行优先方法存储,二维数组的行、列下标都是从0开始,并且已知起始存储地址为100,假设二维数组有n行m列。
LOC(A[3][3])= LOC(A[0][0])+(3*m+4-1)*1=220,可以求出m=39
则LOC(A[5][5])= LOC(A[0][0])+(5*39+6-1)*1=300,选B
2、线性表、堆栈、队列的主要区别是什么?
A.线性表用指针,堆栈和队列用数组
B.堆栈和队列都是插入、删除受到约束的线性表
C.线性表和队列都可以用循环链表实现,但堆栈不能
D.堆栈和队列都不是线性结构,而线性表是
解析:
解析:根据定义可以很简单的选出第二个是正确的。
3、给定一个堆栈的入栈序列为{ 1, 2, ⋯, n },出栈序列为{ p1, p2, ⋯, pn }。如果p2=n,则存在多少种不同的出栈序列?
A.n
B.n−1
C.2
D.1
解析:p2=n,即第二个出栈的数据元素是n,那么第一个出栈的数据元素则可以是{1,2,⋯,n-1}中的任何一个,所以存在的不同的出栈序列一种有n-1种。
4、采用多项式的非零项链式存储表示法,如果两个多项式的非零项分别为N1和N2个,最高项指数分别为M1和M2,则实现两个多项式相乘的时间复杂度是:
A.O(N1×N2)
B.O(M1×M2)
C.O(N1+N2)
D.O(M1+M2)
解析:要实现两个多项式的乘法,需要让一个多项式的每一项乘以另外一个多项式的每一项,因此这个题目的时间复杂度只跟非零项的个数有关,也就是跟N有关,与最高项的指数无关,也就是跟M无关。
5、在评价一个搜索引擎时,下列哪项不是我们关注的要点?
A.索引的速度
B.搜索的速度
C.界面的友好程度
D.搜索结果集的相关性
6、二叉树的中序遍历也可以循环地完成。给定循环中堆栈的操作序列如下(其中push
为入栈,pop
为出栈):
push(1), push(2), push(3), pop(), push(4), pop(), pop(), push(5), pop(), pop(), push(6), pop()
7、以下哪句是对的?
A.3和5是兄弟结点
B.1是5的父结点
C.6是根结点
D.以上全不对
解析:
8、有一个100阶的三对角矩阵M,其三对角元素mi,j(1≤i≤100,1≤j≤100)按行优先次序压缩存入下标从0开始的一维数组N中。元素m30,30在N中的下标是:
A.86
B.87
C.88
D.89
解析:
a[k]-->k=2i+j-2; 30*2+30-2 下标0开始所以-1最后为87
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。