当前位置:   article > 正文

计算机专业数据结构试题答案_已知二维数组 a 按行优先方式存储,每个元素占用 1 个存储单元。若元素 a[0][0] 的

已知二维数组 a 按行优先方式存储,每个元素占用 1 个存储单元。若元素 a[0][0] 的

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/545093
推荐阅读
相关标签
  

闽ICP备14008679号