数据结构单元测验习题集及答案Word文件下载.docx
- 文档编号:20984495
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:59
- 大小:81.44KB
数据结构单元测验习题集及答案Word文件下载.docx
《数据结构单元测验习题集及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构单元测验习题集及答案Word文件下载.docx(59页珍藏版)》请在冰豆网上搜索。
12.程序段for(i=n-l;
i>
l;
i--)
i;
if(A[j]>
A[j+1])
{A[j]与A[j+1]对换;
}
其中n为正整数,则最后一行的语句频度在最坏情况下是()
A.O(n)B.O(nlogn)C.O(n3)D.O(n2)
13.以下哪个数据结构不是多型数据类型()
A.栈B.广义表C.有向图D.字符串
14.以下数据结构中,()是非线性数据结构
A.树B.字符串C.队D.栈
15.下列数据中,()是非线性数据结构。
A.栈B.队列C.完全二叉树D.堆
16.连续存储设计时,存储单元的地址()。
A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续
17.以下属于逻辑结构的是()。
A.顺序表B.哈希表C.有序表D.单链表
二、判断题
1.数据元素是数据的最小单位。
2.记录是数据处理的最小单位。
()
3.数据的逻辑结构是指数据的各数据项之间的逻辑关系;
()
4.算法的优劣与算法描述语言无关,但与所用计算机有关。
5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
6.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
7.程序一定是算法。
8.数据的物理结构是指数据在计算机内的实际存储形式。
9.数据结构的抽象操作的定义与具体实现有关。
10.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
12.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
13.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.()
三、填空
1.数据的物理结构包括的表示和的表示。
2.对于给定的n个元素,可以构造出的逻辑结构有
(1),
(2),(3),__(4)_四种。
3.数据的逻辑结构是指。
4.一个数据结构在计算机中称为存储结构。
5.抽象数据类型的定义仅取决于它的一组__
(1)_,而与_
(2)_无关,即不论其内部结构如何变化,只要它的_(3)_不变,都不影响其外部使用。
6.数据结构中评价算法的两个重要指标是
7.数据结构是研讨数据的_
(1)_和_
(2)_,以及它们之间的相互关系,并对与这种结构定义相应的_(3)_,设计出相应的(4)_。
8.一个算法具有5个特性:
(1)、
(2)、(3),有零个或多个输入、有一个或多个输出。
9.已知如下程序段
for(i=n;
i--){语句1}
{
x=x+1;
{语句2}
for(j=n;
j>
j--){语句3}
y=y+1;
{语句4}
};
语句1执行的频度为
(1);
语句2执行的频度为
(2);
语句3执行的频度为(3);
语句4执行的频度为(4)。
10.在下面的程序段中,对x的赋值语句的频度为______(表示为n的函数)
for(i=l;
for(k=l;
k<
j;
k++)
x=x+delta;
11.下面程序段中带下划线的语句的执行次数的数量级是:
i=1;
while(i<
n){i=i*2;
12.下面程序段中带下划线的语句的执行次数的数量级是()。
i=1;
while(i<
n){for(j=l;
j++)x=x+1;
i=i*2;
}
13.下面程序段中带有下划线的语句的执行次数的数量级是()
i=n*nwhile(i!
=1){i=i/2;
14.计算机执行下面的语句时,语句s的执行次数为_______。
for(i=l;
n-l;
for(j=n;
=i;
j--)
s;
15.下面程序段的时间复杂度为________。
(n>
1)
sum=1;
for(i=0;
sum<
n;
i++)sum+=1;
16.设m.n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。
例f(5,3)=5,有5种表示方式:
3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。
①以下是该函数的程序段,请将未完成的部分填入,使之完整
intf(intm,intn)
{if(m==1)
return
(1);
if(n==1){
return
(2);
if(m<
n)
{returnf(m,m);
if(m==n)
{return1+(3);
returnf(m.n-1)+f(m-n,(4));
②执行程序,f(6,4)=。
17.在有n个选手参加的单循环赛中,总共将进行______场比赛。
第1章
绪论
一、选择题
1.B
2.C
3.1C
3.2B
4.B
5.D
6.C
7.C
8.D
9.D
10.A
11.C
12.D
13.D
14.A
15.C
16.A
17.C
1.×
2.×
3.×
4.×
5.√
6.×
7.×
8.√
9.×
10.×
11.×
12.√
13.×
三.填空题
1.数据元素数据元素间关系2.集合线性结构树形结构图状结构或网状结构。
3.数据的组织形式,即数据元素之间逻辑关系的总体。
而逻辑关系是指数据元素之间的关联方式或称“邻接关系”。
4.表示(又称映像)。
5.
(1)逻辑特性
(2)在计算机内部如何表示和实现(3)数学特性。
6.算法的时间复杂度和空间复杂度。
7.
(1)逻辑结构
(2)物理结构(3)操作(运算)(4)算法。
8.
(1)有穷性
(2)确定性(3)可行性。
9.
(1)n+1
(2)n(3)n(n+3)/2(4)n(n+1)/2。
10.1+(1+2++(1+2+3)+…+(1+2+…+n)=n(n+1)(n+2)/6O(n3)
11.log2n12.nlog2n13.log2n214.(n+3)(n-2)/215.O(n)
16.①
(1)1
(2)1(3)f(m,n-1)(4)n②917.n(n-1)/2
第2章线性表
一选择题
1.下述哪一条是顺序存储结构的优点?
A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示
2.下面关于线性表的叙述中,错误的是哪一个?
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个()的有限序列(n>
0)。
A.表元素B.字符C.数据元素D.数据项E.信息项
4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表
5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表
6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。
A.单链表B.单循环链表C.带尾指针的单循环链表D.带头结点的双循环链表
7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
A.单链表B.双链表C.单循环链表D.带头结点的双循环链表
8.静态链表中指针表示的是().
A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址
9.链表不具有的特点是()
A.插入、删除不需要移动元素B.可随机访问任一元素
C.不必事先估计存储空间D.所需空间与线性长度成正比
10.下面的叙述不正确的是()
A.线性表在链式存储时,查找第i个元素的时间同i的值成正比
B.线性表在链式存储时,查找第i个元素的时间同i的值无关
C.线性表在顺序存储时,查找第i个元素的时间同i的值成正比
D.线性表在顺序存储时,查找第i个元素的时间同i的值无关
11.线性表的表元存储方式有(
(1))和链接两种。
试指出下列各表中使用的是何种存储方式:
表1是(
(2))存储方式;
表2是((3))存储方式;
表3是((4))存储方式;
表4是((5))存储方式。
表左的s指向起始表元。
表元编号
货号
数量
表元间联系
1
618
40
2
205
3
3
103
15
4
501
20
5
5
781
17
6
910
24
0
表1
s→
1
4
表2
3
表3
s→
表4
供选择的答案:
A.连续B.单向链接C.双向链接D.不连接E.循环链接
F.树状G.网状H.随机I.顺序J.顺序循环
12.
(1)静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第i个元素的时间与i无关。
(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()
A.
(1),
(2)B.
(1)C.
(1),
(2),(3)D.
(2)
13.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<
=i<
=n+1)。
A.O(0)B.O
(1)C.O(n)D.O(n2)
14.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。
A.O(n)O(n)B.O(n)O
(1)C.O
(1)O(n)D.O
(1)O
(1)
15.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为()
A.O(i)B.O
(1)C.O(n)D.O(i-1)
16.非空的循环单链表head的尾结点p满足()。
A.p->
link==headB.p->
link==NULLC.p==NULLD.p==head
17.循环链表H的尾结点P的特点是()。
A.P->
NEXT==HB.P->
NEXT==H->
NEXTC.P==HD.P==H->
NEXT
18.在一个以h为头的单循环链中,p指针指向链尾的条件是()
A.p->
next=hB.p->
next=NULLC.p->
next->
next=hD.p->
data=-1
19.完成在双循环链表结点p之后插入s的操作是();
A.p->
next=s;
s->
priou=p;
p->
priou=s;
next=p->
next;
B.p->
priou=s;
next=s;
C.s->
D.s->
20.在双向循环链表中,在p指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是()。
注:
双向链表的结点结构为(llink,data,rlink)。
供选择的答案:
llink=q;
q->
rlink=p;
llink->
rlink=q;
rlink=q;
rlink=p;
llink=p->
llink;
C.q->
rlink=q;
llink=q;
D.q->
q->
p->
21.在非空双向循环链表中q所指的结点前插入一个由p所指的链结点的过程依次为:
rlink(p)←q;
llink(p)←llink(q);
llink(q)←p;
A.rlink(q)←pB.rlink(llink(q))←p
C.rlink(llink(p))←pD.rlink(rlink(p))←p
22.双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()
A.p->
rlink=p;
llink;
B.q->
llink=q->
rlink;
C.q->
D.p->
23.在双向链表指针p的结点前插入一个指针q的结点操作是()。
Llink=q;
Rlink=p;
Llink->
Rlink=q;
Llink=q;
B.p->
Llink=p->
Llink;
D.q->
24.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:
()。
s->
B.s->
C.p->
next=s->
D.p->
25.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()
A.head==NULLB.head->
next==NULLC.head->
next==headD.head!
=NULL
26.在双向链表存储结构中,删除p所指的结点时须修改指针()。
A.(p->
llink)->
rlink=p->
rlink(p->
rlink)->
llink=(p->
llink(p->
C.(p->
llink=pp->
rlink=(p->
rlink
D.p->
llinkp->
27.双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)
free(p);
B.free(p);
rlink=p->
D.以上A,B,C都不对。
二、判断
1.链表中的头结点仅起到标识的作用。
2.顺序存储结构的主要缺点是不利于插入或删除操作。
3.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
4.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
5.对任何数据结构链式存储结构一定优于顺序存储结构。
6.顺序存储方式只能用于存储线性结构。
7.集合与线性表的区别在于是否按关键字排序。
8.所谓静态链表就是一直不发生变化的链表。
9.线性表的特点是每个元素都有一个前驱和一个后继。
10.取线性表的第i个元素的时间同i的大小有关.()
11.循环链表不是线性表.()
12.线性表只能用顺序存储结构实现。
13.线性表就是顺序存储的表。
14.为了很方便的插入和删除数据,可以使用双向链表存放数据。
15.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
16.链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
()
1.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。
2.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是________。
3.设单链表的结点结构为(data,next),next为指针域,已知指针px指向单链表中data为x的结点,指针py指向data为y的新结点,若将结点y插入结点x之后,则需要执行以下语句:
_______;
______;
4.在一个长度为n的顺序表中第i个元素(1<
=n)之前插入一个元素时,需向后移动________个元素。
5.在单链表中设置头结点的作用是________。
6.对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为________,在给定值为x的结点后插入一个新结点的时间复杂度为________。
7.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成________和_______;
而又根据指针的连接方式,链表又可分成________和________。
8.在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是_______、_______、_______、________。
9.在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:
next=p;
prior=________;
prior=s;
________=s;
10.链接存储的特点是利用________来表示数据元素之间的逻辑关系。
11.顺序存储结构是通过________表示元素之间的关系的;
链式存储结构是通过________表示元素之间的关系的。
12.对于双向链表,在两个结点之间插入一个新结点需修改的指针共______个,单链表为_______个。
13.循环单链表的最大优点是:
________。
14.已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:
______
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 单元 测验 习题集 答案