数据结构.docx
《数据结构.docx》由会员分享,可在线阅读,更多相关《数据结构.docx(39页珍藏版)》请在冰豆网上搜索。
数据结构
1.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输入序列不可能是___。
A:
A,B,C,D
B:
D,C,B,A
C:
A,C,D,B
D:
D,A,B,C
回答:
错误 你的答案:
正确答案:
D
提示:
2.设循环队列中数组的下标取值范围是1~n,其头尾指针分别是f和r,则其元素个数为___。
A:
r-f
B:
r-f+1
C:
(r-f)modn+1
D:
(r-f+n)modn
回答:
错误 你的答案:
正确答案:
D
提示:
3.设一个栈的输入序列是12345,则下面序列中不可能是栈的输出序列的是____。
A:
1,2,3,4,5
B:
5,4,3,2,1
C:
2,3,4,5,1
D:
4,1,2,3,5
回答:
错误 你的答案:
正确答案:
D
提示:
4.对列操作的原则是___。
A:
先进先出
B:
后进先出
C:
只能进行插入
D:
只能进行删除
回答:
错误 你的答案:
正确答案:
A
提示:
5.若用数组S(1:
n)作为两个栈S1和S2的共用存储结构,对任何一个栈,只有当S(1:
n)全满时,才不能做入栈操作,为这两个栈分配存储空间的最佳初始方案是___。
A:
S1的栈底位置为0,S2的栈底位置为n+1
B:
S1的栈底位置为0,S2的栈底位置为n/2
C:
S1的栈底位置为1,S2的栈底位置为n
D:
S1的栈底位置为1,S2的栈底位置为n/2
回答:
错误 你的答案:
正确答案:
A
提示:
6.设一个栈的入栈序列为a,b,c,d,e,则栈的不可能的输出序列是___。
A:
e,d,c,b,a
B:
d,e,c,b,a
C:
d,c,e,a,b
D:
a,b,c,d,e
回答:
错误 你的答案:
正确答案:
C
提示:
7.已知一个栈的入栈序列为1,2,3,...,n,其输出序列是p1,p2,p3,...,pn,若p1=n,则pi为___。
A:
i
B:
n-i
C:
n-i+1
D:
不确定
回答:
错误 你的答案:
正确答案:
C
提示:
8.栈结构通常采取的两种存储结构是___。
A:
顺序存储结构和链表存储结构
B:
散列方式和索引方式
C:
链表存储结构和数组
D:
线性存储结构和非线性存储结构
回答:
错误 你的答案:
正确答案:
A
提示:
9.判定一个栈ST(元素最多为m0个)为空的条件是___。
A:
ST.top!
=0
B:
ST.top=0
C:
ST.top!
=m0
D:
ST.top=m0
回答:
错误 你的答案:
正确答案:
B
提示:
10.判定一个栈ST(元素最多为m0个)为栈满的条件是___。
A:
ST.top!
=0
B:
ST.top=0
C:
ST.top!
=m0
D:
ST.top=m0
回答:
错误 你的答案:
正确答案:
D
提示:
11.若一个队列的入队序列为1,2,3,4,则对列的输出序列是___。
A:
4,3,2,1
B:
1,2,3,4
C:
1,4,3,2
D:
3,2,4,1
回答:
错误 你的答案:
正确答案:
B
提示:
12.判断一个队列Q(元素最多为m0个)为空的条件是___。
A:
rear-front=m0
B:
rear-front-1=m0
C:
front=rear
D:
front=rear+1
回答:
错误 你的答案:
正确答案:
C
提示:
13.判断一个队列Q(元素最多为m0个)为满队列的条件是___。
A:
rear-front=m0
B:
rear-front-1=m0
C:
front=rear
D:
front=rear+1
回答:
错误 你的答案:
正确答案:
A
提示:
14.判断一个循环队列Q(元素最多为m0个)为空的条件是___。
A:
Q.front=Q.rear
B:
Q.front!
=Q.rear
C:
Q,front=(Q.rear+1)modm0
D:
Q,front!
=(Q.rear+1)modm0
回答:
错误 你的答案:
正确答案:
A
提示:
15.判断一个循环队列Q(元素最多为m0个)为的满队列的条件是___。
A:
Q.front=Q.rear
B:
Q.front!
=Q.rear
C:
Q.front=(Q.rear+1)modm0
D:
Q.front!
=(Q.rear+1)modm0
回答:
错误 你的答案:
正确答案:
C
提示:
16.若循环队列用数组A(0:
m-1)存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是___。
A:
(rear-front+m)modm
B:
rear-front+1
C:
rear-front-1
D:
rear-front
回答:
错误 你的答案:
正确答案:
A
提示:
17.栈和队列的共同点是___。
A:
都是先进后出
B:
都是先进先出
C:
只允许在端点处插入和删除元素
D:
没有共同点
回答:
错误 你的答案:
正确答案:
C
提示:
18.表达式a*(b+c)-d的后缀表达式是___。
A:
abcd*+-
B:
abc+*d-
C:
abc*+d-
D:
-+*abcd
回答:
错误 你的答案:
正确答案:
B
提示:
19.将递归算法转换为对应的非递归算法时,通常要用___保存中间结果。
A:
栈
B:
队列
C:
链表
D:
树
回答:
错误 你的答案:
正确答案:
A
提示:
1.1.在栈满的情况下,不能做进栈操作,否则产生“上溢”
回答:
错误 你的答案:
正确答案:
对
提示:
2.2.在栈空的情况下,不能作出栈操作,否则产生“下溢”
回答:
错误 你的答案:
正确答案:
对
提示:
3.3.栈和队列都是运算受限的线性表。
回答:
错误 你的答案:
正确答案:
对
提示:
4.4.若一个栈的输入序列为1,2,3,...,n,其输出序列的第一个元素为n,则其输出序列的每个元素ai一定满足ai=i+1(i=1,2,...,n).
回答:
错误 你的答案:
正确答案:
错
提示:
5.5.在链队列中,即使不设置尾指针也能进行入队操作。
回答:
错误 你的答案:
正确答案:
对
提示:
6.6.在对链队列(带头结点)做出队操作的时候,不会改变front指针的值
回答:
错误 你的答案:
正确答案:
对
提示:
7.7.在循环队列中,若尾指针rear大于头指针front,则其元素个数为rear-front。
回答:
错误 你的答案:
正确答案:
对
提示:
8.8.一个栈的输入序列为1,2,3,4,5,则在栈的输出序列中可得4,3,5,1,2。
回答:
错误 你的答案:
正确答案:
错
提示:
9.9.一个栈的输入队列是1,2,3,4,5,则在栈的输出序列中可得到1,2,3,4,5。
回答:
错误 你的答案:
正确答案:
对
提示:
1.数组A(1:
5,1:
6)的每个元素占5个单元,将其按行优先顺序存储在初始地址为1000的连续的内存单元中,则元素A[5,5]的地址为___。
A:
1140
B:
1145
C:
1120
D:
1125
回答:
错误 你的答案:
正确答案:
A
提示:
2.若用十字链表表示一个有k个非零元素的m*n的稀疏矩阵,则其总结点数为___。
A:
m*n
B:
m*n+m+n
C:
k+max(m,n)+1
D:
k+m+n+1
回答:
错误 你的答案:
正确答案:
C
提示:
3.对矩阵压缩存储是为了___。
A:
方便运算
B:
节省空间
C:
方便存储
D:
提高运算速度
回答:
错误 你的答案:
正确答案:
B
提示:
4.数组A(0:
5,0:
6)的每个元素占5个单元,将其按列优先的次序存储在初始地址为1000的连续内存单元中,则元素A[5,5]地址为___。
A:
1175
B:
1180
C:
1205
D:
1210
回答:
错误 你的答案:
正确答案:
A
提示:
5.向量中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是___。
A:
110
B:
108
C:
100
D:
120
回答:
错误 你的答案:
正确答案:
B
提示:
6.数组通常具有的两种操作是___。
A:
插入和删除
B:
索引和修改
C:
查找和修改
D:
查找和删除
回答:
错误 你的答案:
正确答案:
C
提示:
7.二维数组M[i,j]的行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3,5]的起始地址与M按列存储时元素___的起始地址相同。
A:
M[2,4]
B:
M[3,4]
C:
M[3,5]
D:
M[4,4]
回答:
错误 你的答案:
正确答案:
B
提示:
8.数组A中,每个元素A[i,j]的长度为3个字节,,行下标i从1到8,列下标j从1到10,存放该数组至少需要___个字节
A:
80
B:
100
C:
240
D:
270
回答:
错误 你的答案:
正确答案:
C
提示:
9.数组A中,每个元素A[i,j]的长度为3个字节,,行下标i从1到8,列下标j从1到10。
从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8,5]的起始地址为___。
A:
SA+141
B:
SA+144
C:
SA+222
D:
SA+225
回答:
错误 你的答案:
正确答案:
C
提示:
10.数组A中,每个元素A[i,j]的长度为3个字节,,行下标i从1到8,列下标j从1到10。
从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[5,8]的起始地址为___。
A:
SA+141
B:
SA+180
C:
SA+222
D:
SA+225
回答:
错误 你的答案:
正确答案:
B
提示:
11.稀疏矩阵一般的压缩方法有两种,即___。
A:
二维数组和三维数组
B:
三元组表和散列
C:
三元组表和十字链表
D:
散列和十字链表
回答:
错误 你的答案:
正确答案:
C
提示:
12.设矩阵A是一个对称矩阵,为了节省存储空间,将其下三角部分按行存储在一维数组B(1:
n(n-1)/2)中,对任一下三角部分元素aij(i>=j),在一维数组B中的下标位置k的值为___。
A:
i(i-1)/2+j-1
B:
i(i-1)/2+j
C:
i(i+1)/2+j-1
D:
i(i+1)/2+j
回答:
错误 你的答案:
正确答案:
B
提示:
13.设已知一个稀疏矩阵的三元组表如下:
(1,2,3),(1,6,1),(3,1,5),(3,2,-1),(4,5,4),(5.1.-3),则其转置矩阵的三元组表中第3个三元组为___。
A:
(2,1,3)
B:
(3,1,5)
C:
(3,2,-1)
D:
(2,3,-1)
回答:
错误 你的答案:
正确答案:
A
提示:
14.设有上三角矩阵A(1:
5,1:
5),现将其上三角中的元素按列优先顺序存储在一维数组B(1:
15)中。
已知B[1]的地址为100,每个元素占用2个存储单元,则A[3,4]的地址为___。
A:
116
B:
118
C:
120
D:
122
回答:
错误 你的答案:
正确答案:
A
提示:
1.1.数组可以看成是线性结构的一种推广,因此可以对它进行插入,删除等运算。
回答:
错误 你的答案:
正确答案:
错
提示:
2.2.对矩阵压缩存储的方法是用三元组表存储矩阵元素。
回答:
错误 你的答案:
正确答案:
错
提示:
3.3.若采用三元组表压缩存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成对该矩阵的置换运算。
回答:
错误 你的答案:
正确答案:
错
提示:
4.4.广义表的长度是指广义表中的原子个数。
回答:
错误 你的答案:
正确答案:
错
提示:
5.5.对广义表A=(a,(b,c),d),运算head(tail(A))的结果不是b。
回答:
错误 你的答案:
正确答案:
对
提示:
6.6.一个广义表的表头总是一个广义表。
回答:
错误 你的答案:
正确答案:
错
提示:
7.7.一个广义表的表尾总是一个广义表。
回答:
错误 你的答案:
正确答案:
对
提示:
1.有n个叶子节点的哈夫曼树的结点总数为___。
A:
不确定
B:
2n
C:
2n+1
D:
2n-1
回答:
错误 你的答案:
正确答案:
D
提示:
2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根节点的编号为1,则编号为49的结点的左孩子编号为___。
A:
98
B:
99
C:
50
D:
48
回答:
错误 你的答案:
正确答案:
A
提示:
3.从1开始对二叉树进行连续编号,要求每个结点的编号大于其左右孩子的编号。
在同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可用___遍历实现编号。
A:
先序
B:
中序
C:
后序
D:
从根开始的层次遍历
回答:
错误 你的答案:
正确答案:
C
提示:
4.一颗二叉树的先序序列和后序序列正好相反,则该二叉树一定是___的二叉树。
A:
空或只有一个结点
B:
高度等于其节点数
C:
任一结点无左孩子
D:
任一结点无右孩子
回答:
错误 你的答案:
正确答案:
B
提示:
5.一颗非空二叉树的先序序列和后序序列正好相反,则该二叉树一定满足条件:
___。
A:
其中任意结点均无左孩子
B:
其中任意结点均无右孩子
C:
其中只有一个叶子节点
D:
是任意一颗二叉树
回答:
错误 你的答案:
正确答案:
C
提示:
6.一棵左右子树均不为空的二叉树在先序线索化后,其空指针域数为____。
A:
0
B:
1
C:
2
D:
不确定
回答:
错误 你的答案:
正确答案:
B
提示:
7.二叉树在线索化后,下列问题中相对较难解决的是___。
A:
先序线索二叉树中求先序后继
B:
中序线索二叉树中求中序后继
C:
中序线索二叉树中求中序前驱
D:
后序线索二叉树中求后序后继
回答:
错误 你的答案:
正确答案:
D
提示:
8.一棵左右子树均不为空的二叉树在先序前趋和后序后继线索化后,其空指针域数为
A:
0
B:
1
C:
2
D:
不确定
回答:
错误 你的答案:
正确答案:
A
提示:
9.一棵左子树为空的二叉树在先序线索化后,其空指针域数为___。
A:
0
B:
1
C:
2
D:
不确定
回答:
错误 你的答案:
正确答案:
C
提示:
10.判断线索二叉树中某结点p有左孩子的条件是___。
A:
p->lchild=nil
B:
p->lchild!
=nil
C:
p->ltag=0
D:
p->ltag=1
回答:
错误 你的答案:
正确答案:
C
提示:
11.有64个结点的完全二叉树的深度是___。
A:
8
B:
7
C:
6
D:
5
回答:
错误 你的答案:
正确答案:
B
提示:
12.在有n个结点的二叉链表中,值为非空的链域的个数为___。
A:
n-1
B:
2n-1
C:
n+1
D:
2n+1
回答:
错误 你的答案:
正确答案:
A
提示:
13.在线索二叉树中,结点t->没有左子树的充要条件是___。
A:
t->left=nil
B:
t->ltag=1
C:
t->left=nil且t->ltag=1
D:
以上都不对
回答:
错误 你的答案:
正确答案:
B
提示:
14.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为___。
A:
2h
B:
2h-1
C:
2h+1
D:
h+1
回答:
错误 你的答案:
正确答案:
B
提示:
15.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,则它的前序遍历是___。
A:
acbed
B:
decab
C:
deabc
D:
cedba
回答:
错误 你的答案:
正确答案:
D
提示:
16.如果T2是由有序数T转换而来的二叉树,那么T中结点的前序遍历序列就是T2中结点的___遍历序列。
A:
前序
B:
中序
C:
后序
D:
层次序
回答:
错误 你的答案:
正确答案:
A
提示:
17.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序节点的访问顺序是___。
A:
bdgcefha
B:
gdbecfha
C:
bdgaechf
D:
gdbehfca
回答:
错误 你的答案:
正确答案:
D
提示:
18.按照二叉树的定义,具有3个结点的二叉树有___种形态。
A:
3
B:
4
C:
5
D:
6
回答:
错误 你的答案:
正确答案:
C
提示:
19.深度为5的二叉树至多有___个结点。
A:
16
B:
32
C:
31
D:
10
回答:
错误 你的答案:
正确答案:
C
提示:
20.在一非空二叉树的中序遍历序列中,根结点的右边___。
A:
只有右子树上的所有结点
B:
只有右子树上的部分节点
C:
只有左子树上的部分节点
D:
只有左子树上的所有结点
回答:
错误 你的答案:
正确答案:
A
提示:
21.树最适合用来表示___.
A:
有序数据元素
B:
无序数据元素
C:
元素之间具有分之层次关系的数据
D:
元素之间无联系的数据
回答:
错误 你的答案:
正确答案:
C
提示:
22.任何一颗二叉树的叶结点在先序,中序,后序遍历序列中的相对次序___。
A:
不发生改变
B:
发生改变
C:
不能确定
D:
以上都不对
回答:
错误 你的答案:
正确答案:
A
提示:
23.要实现任意二叉树的后序遍历的非递归算法而不使用栈结构,其最佳方案是二叉树采用___存储结构。
A:
二叉链表
B:
广义表存储结构
C:
三叉链表
D:
顺序存储结构
回答:
错误 你的答案:
正确答案:
A
提示:
24.一个满二叉树,有m个树叶,n个结点,深度为h,则___。
A:
n=m+h
B:
h+m=2n
C:
m=h-1
D:
n=2^h-1
回答:
错误 你的答案:
正确答案:
D
提示:
25.如果某二叉树的前序为stuwv,中序为uwtvs,那么该二叉树的后序为___。
A:
uwvts
B:
vwuts
C:
wuvts
D:
wutsv
回答:
错误 你的答案:
正确答案:
C
提示:
26.设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是___。
A:
n在m右方
B:
n是m祖先
C:
n在m左方
D:
n是m子孙
回答:
错误 你的答案:
正确答案:
C
提示:
27.线索二叉树是一种___结构。
A:
逻辑
B:
逻辑和存储
C:
物理
D:
线性
回答:
错误 你的答案:
正确答案:
C
提示:
28.具有100个结点的完全二叉树的深度是___。
A:
6
B:
7
C:
8
D:
9
回答:
错误 你的答案:
正确答案:
B
提示:
29.用孩子兄弟链表表示一棵树,若要找到结点x的第5个孩子,则只要找到x的第1个孩子,然后___。
A:
从孩子域指针连续扫描5个结点即可
B:
从孩子域指针连续扫描4个结点即可
C:
从兄弟域指针连续扫描5个结点即可
D:
从兄弟域指针连续扫描4个结点即可
回答:
错误 你的答案:
正确答案:
D
提示:
30.树形结构的特点是:
任意一个结点___。
A:
可以有多个直接前趋
B:
可以有多个直接后继
C:
至少有1个前趋
D:
只有1个后继
回答:
错误 你的答案:
正确答案:
B
提示:
31.若对一棵有16个结点的完全二叉树按层次进行编号,则对于层次号为7的结点x,它的双亲结点以及右孩子结点的编号分别是___。
A:
2,14
B:
2,15
C:
3,14
D:
3,15
回答:
错误 你的答案:
正确答案:
D
提示:
32.树若用双亲链表表示,则___。
A:
可容易地实现求双亲及子孙的运算
B:
求双亲及子孙的运算均较困难
C:
可容易地实现求双亲运算,但求子孙运算较困难
D:
可容易地实现求子孙运算,但求双亲运算较困难
回答:
错误 你的答案:
正确答案:
C
提示:
33.将一