完整版华南理工大学数据结构含课程设计随堂练习.docx
《完整版华南理工大学数据结构含课程设计随堂练习.docx》由会员分享,可在线阅读,更多相关《完整版华南理工大学数据结构含课程设计随堂练习.docx(99页珍藏版)》请在冰豆网上搜索。
完整版华南理工大学数据结构含课程设计随堂练习
第一章绪论
本次练习有
19题,你已做
19题,已提交
19题,其中答对
19题。
当前页有
10题,你已做
10题,已提交
10题,其中答对
10题。
1.数据结构的抽象操作的定义与具体实现有关。
(
)
答题:
对.错.(已提交)
参考答案:
×
问题解析:
1.算法分析的目的是:
A.找出数据结构的合理性C.分析算法的效率以求改进
B.研究算法中的输入和输出的关系
D.分析算法的易懂性和文档性
答题:
A.
B.
C.
D.(已提交)
参考答案:
C
问题解析:
1.数据元素是数据的最小单位。
()
答题:
对.错.(已提交)
参考答案:
×
问题解析:
1.非线性结构是数据元素之间存在一种:
A.一对多关系B.多对多关系
C.多对一关系D.一对一关系
答题:
A.B.C.D.(已提交)
参考答案:
B
问题解析:
2.算法分析的两个主要方面是:
A.空间复杂性和时间复杂性
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
答题:
A.
B.
C.
D.(已提交)
参考答案:
A
问题解析:
2.记录是数据处理的最小单位。
()
答题:
对.错.(已提交)
参考答案:
×
问题解析:
2.数据结构中,与所使用的计算机无关的是数据的
结构;
A.存储
B.物理
C.逻辑
D.物理和存储
答题:
A.
B.
C.
D.(已提交)
参考答案:
问题解析:
C
3.计算机算法指的是:
A.计算方法
C.解决问题的有限运算序列
B.排序方法
D.调度方法
答题:
A.B.C.D.(已提交)
参考答案:
C
问题解析:
3.数据的逻辑结构是指数据的各数据项之间的逻辑关系。
()
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
4.计算机算法必须具备输入、输出和
等5个特性。
A.可行性、可移植性和可扩充性
B.可行性、确定性和有穷性
C.确定性、有穷性和稳定性
D.易读性、稳定性和安全性
答题:
A.
B.C.
D.(已提交)
参考答案:
B
问题解析:
4.数据的物理结构是指数据在计算机内的实际存储形式。
()
答题:
对.错.(已提交)
参考答案:
√
问题解析:
5.算法的优劣与算法描述语言无关,但与所用计算机有关。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
5.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
6.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
(
)
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
6.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
7.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
()
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
7.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
(
)
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
8.程序一定是算法。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
8.数据的逻辑结构说明数据元素之间的顺序关系
它依赖于计算机的储存结构。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
第二章线性表
本次练习有
32
题,你已做
32题,已提交
32题,其中答对
15题。
当前页有
10
题,你已做
10题,已提交
10题,其中答对
9题。
1.下述哪一条是顺序存储结构的优点?
(
)
A.存储密度大
B.插入运算方便
C.删除运算方便
D.可方便地用于各种逻辑结构的存储表示
答题:
A.B.C.D.(已提交)
参考答案:
A
问题解析:
2.下面关于线性表的叙述中,错误的是哪一个?
()
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
答题:
A.B.C.D.(已提交)
参考答案:
B
问题解析:
3.线性表是具有n个()的有限序列(n>0)。
A.表元素B.字符C.数据元素D.数据项E.信息项
答题:
A.B.C.D.(已提交)
参考答案:
C
问题解析:
4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表
答题:
A.B.C.D.(已提交)
参考答案:
A
问题解析:
5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运
A.单链表B.仅有头指针的单循环链表
C.双链表D.仅有尾指针的单循环链表
答题:
A.B.C.D.(已提交)
参考答案:
D
问题解析:
6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。
A.单链表
B.单循环链表
C.带尾指针的单循环链表
D.带头结点的双循环链表
答题:
A.B.C.D.(已提交)
参考答案:
D
问题解析:
7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算
A.单链表
B.双链表
C.单循环链表
D.带头结点的双循环链表
答题:
A.B.C.D.(已提交)
参考答案:
D
问题解析:
8.静态链表中指针表示的是()
A.内存地址
B.数组下标
C.下一元素地址
D.左、右孩子地址
答题:
A.B.C.D.(已提交)
参考答案:
C
问题解析:
9.链表不具有的特点是()
A.插入、删除不需要移动元素
B.可随机访问任一元素
C.不必事先估计存储空间
D.所需空间与线性长度成正比
答题:
A.B.C.D.(已提交)
参考答案:
B
问题解析:
11.
(1)静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第i个元素的时间与i无关。
(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()
A.
(1),
(2)
B.
(1)
C.
(1),
(2),(3)
D.
(2)
答题:
A.
B.
C.
D.(已提交)
参考答案:
B
问题解析:
12.若长度为n的线性表采用顺序存储结构,在其第
i个位置插入一个新元素的算法的时间复杂度为(
)(1<=i<=n+
A.O(0)
B.O
(1)
C.O(n)
D.O(n2)
答题:
A.
B.
C.
D.(已提交)
参考答案:
C
问题解析:
13.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(
)。
A.O(n)O(n)
B.O(n)O
(1)
C.
O
(1)O(n)
D.
O
(1)O
(1)
答题:
A.
B.
C.
D.(已提交)
参考答案:
C
问题解析:
14.线性表(
a1,a2,
⋯,an)以链接方式存储时,访问第
i位置元素的时间复杂性为(
)
A.O(i)
B.O
(1)
C.O(n)
D.O(i-1)
答题:
A.B.C.D.(已提交)
参考答案:
C
问题解析:
15.非空的循环单链表head的尾结点p↑满足()。
A.p↑.link=head
B.p↑.link=NIL
C.p=NIL
D.p=head
答题:
A.B.C.D.(已提交)
参考答案:
A
问题解析:
16.循环链表H的尾结点P的特点是()。
A.P^.NEXT:
=H
B.P^.NEXT:
=H^.NEXT
C.P:
=H
D.P:
=H^.NEXT
答题:
A.
B.
C.
D.(已提交)
参考答案:
A
问题解析:
17.在一个以h为头的单循环链中,
A.p^.next=h
p指针指向链尾的条件是(
B.p^.next=NIL
)
C.
p^.next.^next=h
D.
p^.data=-1
答题:
A.
B.
C.
D.(已提交)
参考答案:
A
问题解析:
18.完成在双循环链表结点
p之后插入s的操作是(
)。
A.p^.next:
=s;s^
.priou:
=p;p^
.next^.priou:
=s;s^
.next:
=p^.next;
B.p^.next^.priou:
=s;p^
.next:
=s;s^.priou:
=p;s^
.next:
=p^.next;C.s^.priou:
=p;s^.next:
=p^.next;p^.
D.s^.priou:
=p;s^.next:
=p^.next;p^.next^.priou:
=s;p^.next:
=s;
答题:
A.B.C.D.(已提交)
参考答案:
D
问题解析:
19.链表中的头结点仅起到标识的作用。
()
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
20.顺序存储结构的主要缺点是不利于插入或删除操作。
(
)
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
21.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
(
)
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
22.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
23.对任何数据结构链式存储结构一定优于顺序存储结构。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
24.顺序存储方式只能用于存储线性结构。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
25.集合与线性表的区别在于是否按关键字排序。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
26.所谓静态链表就是一直不发生变化的链表。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
27.线性表的特点是每个元素都有一个前驱和一个后继。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
28.取线性表的第
i个元素的时间同
i的大小有关。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
29.循环链表不是线性表。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
30.线性表只能用顺序存储结构实现。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
31.线性表就是顺序存储的表。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
32.为了很方便的插入和删除数据,可以使用双向链表存放数据。
(
)
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
33.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
(
)
答题:
对.
错.(已提交)
参考答案:
×
问题解析:
第三章栈、队列
本次练习有
27题,你已做
27题,已提交
27题,其中答对
27题。
当前页有
10题,你已做
10题,已提交
10题,其中答对
10题。
1.栈中元素的进出原则是
A.先进先出B.后进先出C.栈空则进D.栈满则出
答题:
A.B.C.D.(已提交)
参考答案:
B
问题解析:
2.若已知一个栈的入栈序列是1,2,3,⋯,n,其输出序列为p1,p2,p3,⋯,pn,若p1=n,
则pi为
A.iB.n=iC.n-i+1D.不确定
答题:
A.B.C.D.(已提交)
参考答案:
C
问题解析:
3.
判定一个栈ST(最多元素为m0)为空的条件是
A.ST->top<>0B.ST->top=0C.ST->top<>m0D.ST->top=m0
答题:
A.B.C.D.(已提交)
参考答案:
B
问题解析:
4.判定一个队列QU(最多元素为m0)为满队列的条件是
A.QU->rear
-QU->front==m0B
.QU->rear-QU->front-1==m0
C.QU->front==QU->rear
D.QU->front==QU->rear+1
答题:
A.
B.
C.
D.(已提交)
参考答案:
A
问题解析:
5.数组Q[n]用来表示一个循环队列,
f为当前队列头元素的前一位置,
r为队尾元素的位置,假
定队列中元素的个数小于
n,计算队列中元素的公式为
A.r-f
B.(n+f-r)%n
C.n+r-f
D.(n+r-f)%n
答题:
A.B.C.D.(已提交)
参考答案:
D
问题解析:
6.设有4个数据元素a1、a2、a3和a4,对他们分别进行栈操作或队操作。
在进栈或进队操作时,按a1、a2、a3、a4次序每次进入一个元素。
假设栈或队的初始状态都是空。
现要进行的栈操作是进栈两次,出栈一次,再进栈两次,出栈一次;这时,第一次出栈得到的元
素是a
,第二次出栈得到的元素是
b
是;类似地,考虑对这四个数据元素进行的队操作
是进队两次,出队一次,再进队两次,出队一次;这时,第一次出队得到的元素是
c
,第二
次出队得到的元素是
d
。
经操作后,最后在栈中或队中的元素还有
e个。
供选择的答案:
a~d:
①a1②a2
③a3
④a4
e:
①1
②2
③3
④0
A.a=2,b=2,c=1,d=3,e=2
B.a=2,b=2,c=2,d=4,e=3
C.a=2,b=4,c=1,d=2,e=2
D.a=2,b=2,c=1,d=4,e=4
答题:
A.
B.
C.
D.(已提交)
参考答案:
C
问题解析:
7.栈是一种线性表,它的特点是
a
。
设用一维数组A[1,⋯,n]来表示一个栈,
A[n]为栈底,用
整型变量T指示当前栈顶位置,
A[T]为栈顶元素。
往栈中推入(
PUSH)一个新元素时,变量T
的值b;从栈中弹出(POP)一个元素时,变量T的值c
。
设栈空时,有输入序列a,b,c,
经过PUSH,POP,PUSH,PUSH,POP操作后,从栈中弹出的元素的序列是
d
,变量T
的值是e
。
供选择的答案:
a:
①先进先出
②后进先出
③进优于出
④出优于进
⑤随机进出
b,c:
①加1②减1
③不变
④清0⑤加2
⑥减2
d:
①a,b
②b,c
③c,a
④b,a
⑤c,b
⑥a,c
e:
①n+1
②n+2③n
④n-1
⑤n-2
注意,向地址的高端生长,称为向上生成堆栈;向地址低端生长叫向下生成堆栈,本题中底部为
n,向地址的低端递减生成,称为向下生成堆栈。
A.a=2,b=2,c=1,d=6,e=4
C.a=1,b=2,c=2,d=5,e=6
B.a=2,b=1,c=2,d=4,e=5
D.a=2,b=2,c=1,d=5,e=4
答题:
A.
B.
C.
D.(已提交)
参考答案:
A
问题解析:
8.在做进栈运算时,应先判别栈是否a;在做退栈运算时,应先判别栈是否b。
当栈中元
素为n个,做进栈运算时发生上溢,则说明该栈的最大容量为c。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两
栈的d分别设在这片内存空间的两端,这样,只有当e时,才产生上溢。
供选择的答案:
a,b:
①空②满③上溢④下溢
c:
①n-1②n③n+1④n/2
d:
①长度②深度③栈顶④栈底
e:
①两个栈的栈顶同时到达栈空间的中心点②其中一个栈的栈顶到达栈空间的中心
点
③两个栈的栈顶在达栈空间的某一位置相遇④两个栈均不空,且一个栈的栈顶到达另一
个栈的栈底
A.a=2,b=2,c=1,d=3,e=4B.a=2,b=1,c=2,d=4,e=3
C.a=1,b=2,c=2,d=3,e=4D.a=2,b=2,c=1,d=3,e=4
答题:
A.B.C.D.(已提交)
参考答案:
B
问题解析:
9.消除递归不一定需要使用栈,此说法。
()
答题:
对.错.(已提交)
参考答案:
√
问题解析:
10.栈是实现过程和函数等子程序所必需的结构。
()
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
11.两个栈共用静态存储空间,对头使用也存在空间溢出问题。
()
答题:
对.
错.(已提交)
参考答案:
√
问题解析:
12.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底
分别设在这片内存空间的两端。
()
答题:
对.错.(已提交)
参考答案:
√
问题解析:
13.即使对不含相同元素的同一输入序列进行两组不同的合法的入栈和出栈组合操作,所得的输出序列也一定相同。
()
答题:
对.
错.
(已提交)
参考答案:
×
问题解析:
14.有n个数顺序(依次)进栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!
/[(n!
)*(n!
)]。
()
答题:
对.错.(已提交)
参考答案:
√
问题解析:
15.栈与队列是一种特殊操作的线性表。
()
答题:
对.错.(已提交)
参考答案:
√
问题解析:
16.若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1。
()
答题:
对.错.(已提交)
参考答案:
√
问题解析:
17.栈和队列都是限制存取