![e15f5897287d4e487ba6f765d8c97aea.gif](https://i-blog.csdnimg.cn/blog_migrate/5be3acd5a01074f0c4fe0e2eb97b8f6b.gif)
春天来了,关注我们吧!!
数据结构资料
1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
答案:A
解析:栈的操作只允许在栈的一端进行插人和删除操作。队列的操作只允许在队列的一端进行插入操作,在另一端进行删除操作。
2.用链接方式存储的队列,在进行插入运算时( ).
A. 仅修改头指针 B. 头、尾指针都要修改
C. 仅修改尾指针 D.头、尾指针可能都要修改
答案:D
解析:我觉得题目描述不够严谨,若将题目改为“用无头结点链接方式存储的队列”,则选D更为合理一些。因为若是带头结点链接方式存储的队列,在进行插入运算时只需修改尾指针;但若是用无头结点链接方式存储的队列,在进行插入运算时,(1)队列不为空:只需修改尾指针(2)队列为空:头尾指针都需要修改。
3.以下数据结构中哪一个是非线性结构?( )
A. 队列 B. 栈 C. 线性表 D. 二叉树
答案:D
解析:(1)常用的线性结构:线性表、栈、队列、数组、串
(2)多维数组、广义表、数、图
4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3]3存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.696
答案:C
解析:要想求A[3][3]的位置应先求出每个一维数组所含元素的个数,即求出n的值:644+2*n+2=676,n=(676-644-2)/2=15
则:A[3][3]的存放位置为:A[2][2]+n+1=676+15+1=692
5.树最适合用来表示( )。
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据
答案:C
解析:因为树形结构很自然的就具有分支层次关系
6.二叉树的第k层的结点数最多为( ).
A.2^k-1 B.2K+1 C.2K-1 D. 2^(k-1)
答案:D
解析:嗯。。。这个。。。嗯。。。要想第K层的结点数最多则应为K-1层的二倍,因此,设第i层的结点数为a[i]
第一层:a[1]=2^0=1
第二次:a[2]=2^1=2
第三层:a[3]=2^2=4
第 k 层:a[k]=2^(k-1)