《数据结构与算法》张晓莉习题选择题判断题76542Word文档下载推荐.docx
《《数据结构与算法》张晓莉习题选择题判断题76542Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《数据结构与算法》张晓莉习题选择题判断题76542Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
B.解决某问题的算法可能有多种,但肯定采用相同的数据结构
C.算法的可行性是指算法的指令不能有二义性
;
D.同一个算法,实现语言的级别越高,执行效率就越低
5.在发生非法操作时,算法能够作出适当处理的特性称为(B)。
A.正确性B.健壮性C.可读性D.可移植性
第二章线性表
1.线性表是(A)。
A.一个有限序列,可以为空B.一个有限序列,不能为空
C.一个无限序列,可以为空D.一个无限序列,不能为空
"
2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。
插入一个元素时平均要移动表中的(A)个元素。
A.n/2B.(n+1)/2C.(n-1)/2D.n
3.线性表采用链式存储时,其地址(D)。
A.必须是连续的B.部分地址必须是连续的
C.一定是不连续的D.连续与否均可以
4.用链表表示线性表的优点是(C)。
A.便于随机存取B.花费的存储空间较顺序存储少
¥
C.便于插入和删除D.数据元素的物理顺序与逻辑顺序相同
5.链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用(C)存储方式最节省运算时间。
A.单链表B.双链表C.单循环链表D.带头结点的双向循环链表
6.下面关于线性表的叙述,错误的是(B)。
A.线性表采用顺序存储,必须占用一片地址连续的单元
B.线性表采用顺序存储,便于进行插入和删除操作
C.线性表采用链式存储,不必占用一片地址连续的单元
D.线性表采用链式存储,不便于进行插入和删除操作
;
7.单链表中,增加一个头结点的目的是为了(C)。
A.使单链表至少有一个结点B.标识表结点中首结点的位置
C.方便运算的实现D.说明单链表是线性表的链式存储
8.在单链表指针为p的结点之后插入指针为s结点,正确的操作是(B)。
A.p->
next=s;
s->
next=p->
next;
B.s->
p->
C.p->
next=s->
D.p->
!
9.在双向链表存储结构中,删除p所指的结点时须修改指针(A)。
A.(p->
prior)->
next=p->
next;
(p->
next)->
prior=p->
prior;
B.p->
prior=(p->
next=p;
C.(p->
prior=p;
p->
rlink=(p->
next)->
next;
next=(p->
prior=(p->
next
10.完成在双向循环链表结点p之后插入s的操作是(D)。
next=s;
s->
prior=p;
next->
prior=s;
next=p->
next;
next->
next=s;
^
C.s->
next;
D.s->
11.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用(B)存储方式最节省运算时间。
A.单链表B.顺序表C.双向链表D.单循环链表
12.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表
C.双向链表D.仅有尾指针的单循环链表
…
第三章栈和队列
1.向一个栈顶指针为top的链栈中插入一个p所指结点时,其操作步骤为(C)。
A.top->
next=p;
B.p->
next=top->
top->
next=top;
top=p;
D.p->
top=top->
2.对于栈操作数据的原则是(B)。
A.先进先出B.后进先出
C.后进后出D.不分顺序
3.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若pn是n,则Pi为(D)。
A.iB.n-iC.n-i+lD.不确定
4.表达式a*(b-c)+d的后缀表达式是(B)。
A.abcd*-+B.abc-*d+
C.abc*-d+D.+-*abcd
5.采用顺序存储的两个栈的共享空间S[1..m],用top[i]代表第i个栈(i=1,2)的栈顶,栈1的底在S[1],栈2的底在S[m],则栈满的条件是(B)。
A.top[2]-top[1]=0B.top[1]+1=top[2]
C.top[1]+top[2]=mD.top[1]=top[2]
]
6.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(C)。
A.edcbaB.decbaC.dceabD.abcde
7.在一个链队列中,若f、r分别为队首、队尾指针,则插入p所指结点的操作为(B)。
A.f->
f=pB.r->
r=p
next=r;
r=pD.p->
next=f;
f=p
8.用不带头结点的单链表存储队列时,在进行删除运算时(D)。
A.仅修改头指针B.仅修改尾指针
C.头、尾指针都要修改D.头、尾指针可能都要修改
9.递归过程或函数调用时,处理参数及返回地址,要用一种称为(C)的数据结构。
A.队列B.静态链表C.栈D.顺序表
10.栈和队都是(C)。
A.顺序存储的线性结构B.链式存储的非线性结构
C.限制存取点的线性结构D.限制存取点的非线性结构
第四章字符串及线性结构的扩展
:
1.下面关于串的叙述,错误的是(C)。
A.串是字符的有限序列
B.串既可以采用顺序存储,也可以采用链式存储
C.空串是由空格构成的串
D.模式匹配是串的一种重要运算
2.串的长度是指(B)。
A.串中所含不同字母的个数B.串中所含字符的个数
C.串中所含不同字符的个数D.串中所含非空格字符的个数
【
3.
4.二维数组M的成员是6个字符(每个字符占一个存储单元,即一个字节)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要
(1)(D)个字节;
M的第8列和第5行共占
(2)(A)个字节;
若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的(3)(C)元素的起始地址一致。
(1)A.90B.180C.240D.540
(2)A.108B.114C.54D.60
(3)A.M[8][5]B.M[3][10]C.M[5][8]D.M[0][9]
5.数组A中,每个元素的存储占3个单元,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元个数是
(1)(C);
若该数组按行存放,元素A[8][5]的起始地址为
(2)(D);
若该数组按列存放,元素A[8][5]的起始地址为(3)(B)。
(1)A.80B.100C.240D.270
—
(2)A.SA+141B.SA+144C.SA+222D.SA+225
(3)A.SA+141B.SA+180C.SA+117D.SA+225
6.稀疏矩阵采用压缩存储,一般有(C)两种方法。
A.二维数组和三维数组B.三元组和散列
C.三元组表和十字链表D.散列和十字链表
第五章树结构
1.下列说法正确的是(C)。
A.二叉树中任何一个结点的度都为2B.二叉树的度为2
C.一棵二叉树的度可小于2D.任何一棵二叉树中至少有一个结点的度为2
2.以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为(C)。
A.2n-1B.n-1C.n+lD.2n+l
3.线索化二叉树中,某结点*p没有孩子的充要条件是(B)。
A.p->
lchild=NULLB.p->
ltag=1且p->
rtag=1
C.p->
ltag=0D.p->
lchild=NULL且p->
ltag=1
4.如果结点A有3个兄弟,而且B是A的双亲,则B的度是(B)。
A.3B.4C.5D.1
5.某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号值为1,2,…,n,且有如下性质:
T中任意结点v,其编号等于左子树上的最小编号减1,而v的右子树的结点中,其最小编号等于v左子树上结点的最大编号加1,这是按(B)编号的。
A.中序遍历序列B.先序遍历序列C.后序遍历序列D.层次顺序
6.设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端结点,B中右指针域为空的结点有(C)个。
A.n-1B.nC.n+lD.n+2
7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是(C)。
'
A.500B.501C.490D.495
8.设森林F中有3棵树,第1、第2和第3棵树的结点个数分别为N1,N2和N3。
与森林F对应的二叉树根结点的右子树上的结点个数是(D)。
A.N1B.N1+N2C.N2D.N2+N3
9.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序(A)。
A.不发生改变B.发生改变C.不能确定D.以上都不对
10.若一棵二叉树的后序遍历序列为dabec,中序遍历序列为debac,则先序遍历序列为(D)。
A.cbedB.decabC.deabcD.cedba
%
11.若一棵二叉树的先序遍历序列为abdgcefh,中序遍历的序列为dgbaechf,则后序遍历的结果为(D)。
A.gcefhaB.gdbecfhaC.bdgaechfD.gdbehfca
12.一棵非空二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足(B)。
A.所有的结点均无左孩子B.所有的结点均无右孩子
C.只有一个叶子结点D.是一棵满二叉树
13.设