国家开放大学《数据结构(本)》单元测试参考答案.docx

上传人:国**** 文档编号:12221247 上传时间:2023-06-04 格式:DOCX 页数:37 大小:110.49KB
下载 相关 举报
国家开放大学《数据结构(本)》单元测试参考答案.docx_第1页
第1页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

国家开放大学《数据结构(本)》单元测试参考答案.docx

《国家开放大学《数据结构(本)》单元测试参考答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学《数据结构(本)》单元测试参考答案.docx(37页珍藏版)》请在冰点文库上搜索。

国家开放大学《数据结构(本)》单元测试参考答案.docx

国家开放大学《数据结构(本)》单元测试参考答案

单元1绪论

1.数据结构中,与所使用的计算机无关的是数据的()。

A.物理和存储结构

B.物理结构

C.逻辑结构

D.存储结构

2.组成数据的基本单位是()。

A.数据变量

B.数据项

C.数据类型

D.数据元素

3.研究数据结构就是研究()。

A.数据的存储结构

B.数据的逻辑结构和存储结构

C.数据的逻辑结构

D.数据的逻辑结构和存储结构以及其数据在运算上的实现

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.数据元素间关系的表示

B.相关算法

C.数据处理的方法

D.数据元素的类型

11.数据元素是数据的最小单位(×)。

12.数据的逻辑结构是指数据的各数据项之间的逻辑关系(×)。

13.算法的优劣与算法描述语言无关,但与所用计算机有关(×)。

14.算法是在数据结构的基础上对特定问题求解步骤的一种描述,也是若干条指令组成的优先序列(√)。

15.算法可以用不同的语言描述,如果用C语言等高级语言来描述,则算法实际上就是程序了(×)。

16.程序一定是算法(×)。

17.数据的物理结构是指数据在计算机内的实际存储形式(√)。

18.数据结构中评价算法的两个重要指标是时间复杂度和空间复杂度(√)。

19.在顺序存储结构中,有时也存储数据结构中元素之间的关系(×)。

单元2线性表

1.线性表的顺序存储比链式存储最与利于进行()操作。

A.表头插入或删除

B.表尾插入或删除

C.按值插入或删除

D.查找

2.链表不具备的特点是()。

A.不必事先估计存储空间

B.所需空间与其长度成正比

C.插入、删除不需要移动元素

D.可随机访问任一结点

3.向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。

A.63

B.7

C.8

D.63.5

4.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n)之前插入一个新元素时,需要依次后移()个元素。

A.n-i-1

B.n-i+1

C.i

D.n-i

5.在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n),需要前移()个元素。

A.n-i-1

B.i

C.n-i+1

D.n-i

6.一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是()。

A.106

B.98

C.102

D.100

7.用链表表示线性表的优点是()。

A.便于插入和删除

B.便于随机存取

C.数据元素的物理顺序和逻辑顺序相同

D.花费的存储空间较顺序存储少

8.带头结点的链表为空的判断条件是()(设头指针为head)。

A.head->next==NULL

B.head->next==head

C.head==NULL

D.head!

=NULL

9.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。

A.p->next==NULL

B.p==head

C.p->next==head

D.p==NULL

10.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。

A.p->next=q

B.p->next=q->next

C.q->next=NULL

D.p=q->next

11.线性表在链式存储中各结点之间的地址()。

A.必须连续

B.部分地址必须连续

C.连续与否无所谓

D.不能连续

12.有关线性表的正确说法是()。

A.表中的元素必须按由小到大或由大到下排序

B.线性表至少要求一个元素

C.除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继

D.每个元素都有一个直接前驱和一个直接后继

13.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最省时间。

A.双向循环链表

B.带头结点的双向循环链表

C.单向循环链表

D.顺序表

14.在单链表中,若*p不是尾结点,在其后插入*s结点的操作是()。

A.s->next=p->next;p=s;

B.s->next=p->next;p->next=s;

C.s->next=p;p->next=s;

D.p->next=s;s->next=p;

15.在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。

则原顺序表的长度为()。

A.19

B.25

C.21

D.20

16.对于一个具有n个结点的单向链表,在给定值为x的结点之后插入一个新结点的时间复杂度为()。

A.O

(1)

B.O(n3)

C.O(n2)

D.O(n)

17.设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为()。

A.n

B.n-i+1

C.n-1

D.n/2

18.线性表的顺序结构中,()。

A.进行数据元素的插入、删除效率较高

B.逻辑上相邻的元素在物理位置上也相邻

C.逻辑上相邻的元素在物理位置上不一定相邻

D.数据元素是不能随机访问的

19.以下说法中不正确的是()。

A.双向循环链表中每个结点需要包含两个指针域

B.单向循环链表中尾结点的指针域中存放的是头指针

C.顺序存储的线性链表是可以随机访问的

D.已知单向链表中任一结点的指针就能访问到链表中每个结点

20.以下表中可以随机访问的是()。

A.单向链表

B.单向循环链表

C.顺序表

D.双向链表

21.设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。

A.p=(NODE)malloc(sizeof(p));

B.p=(NODE*)malloc(sizeof(NODE));

C.p=(*NODE)malloc(sizeof(NODE));

D.p=(NODE*)malloc(sizeof(p));

22.设head为非空的单向循环链表头指针,p指向链表的尾结点,则满足逻辑表达式()的值为真。

A.p->next=NULL

B.p==NULL

C.p->next==head

D.p-==head

23.顺序存取的线性表乐意随机存取(√)。

24.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活(√)。

25.线性表中的元素可以是各种各样的,但同一线性表中的数据元具有相同的特性,因此是属于同一数据对象(√)。

26.在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理上位置并不一定是相邻的(×)。

27.在单链表中,任何两个元素的存储位置之间都有固定的联系,因为可以从头结点进行查找任何一个元素(×)。

28.线性表的链式存储结构优于顺序存储结构(×)。

29.在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该袁术的位置有关(√)。

30.在单链表中,要取得某个元素,只要知道该元素的指针机可,因此单链表是随机存取的存储结构。

(×)

31.顺序存储方式只能用于存储线性结构。

(×)

32.顺序存储方式的有点是存储密度大,且插入、删除运算效率高。

(×)

单元3栈和队列

1.一个顺序栈一旦被声明,其占用空间的大小()。

A.已固定

B.动态变化

C.可以改变

D.不能固定

2.链栈和顺序栈相比,有一个比较明显的缺点,即()。

A.不会出现栈空的情况

B.插入操作更加方便

C.删除操作更加方便

D.通常不会出现栈满的情况

3.用单链表表示的链式队列的队头在链表的()位置。

A.链头

B.任意位置

C.链尾

D.链中

4.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构。

A.数组

B.堆栈

C.队列

D.线性表

5.循环队列A[m]存放其元素,用front和rear分别表示队头及队尾,则循环队列满的条件是()。

A.(rear+1)%m=front

B.(rear=front

C.(rear+1)%m-1=front

D.(rear=front+1

6.在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行()。

A.p->next=top;top=p;

B.top->next=p;

C.p->next=top->next;top->next=p;

D.p->next=top->next;top=top->next;

7.在一个栈顶指针为top的链栈中删除一个结点时,用x保存被删结点的值,则执行()。

A.x=top->data;top=top->next;

B.x=top;top=top->next;

C.top=top->next;x=top->data;

D.x=top->data;

8.在一个链队中,设front和rear分别为队首和队尾指针,则插入p所指结点时,应执行()。

A.p->next=rear;rear=p;

B.rear->next=p;rear=p;

C.front->next=p;front=p;

D.p->next=front;front=p;

9.在链队列中,f和r分别为队头和队尾指针,要把s所指结点入队,应执行()。

A.r->next=s->next;r=s;

B.r->next=s;

C.r->next=s;r=s;

D.r->next=s->next;

10.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为()。

A.x=top->data;top=top->next;

B.top=top->next;

C.x=top->data;

D.top->data=x;

11.一个队列的入队序列是2,4,6,8,则队列的输出序列是()。

A.6,4,2,8

B.4,2,8,6

C.2,4,6,8

D.8,6,4,2

12.一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是()。

(进出栈操作可以交替进行)

A.8,7,6,5

B.7,6,8,5

C.7,6,5,8

D.5,8,6,7

13.栈的插入删除操作在()进行。

A.栈底

B.栈顶

C.指定位置

D.任意位置

14.栈和队列的相同点是()。

A.逻辑结构与线性表相同,都是操作规则受到限制的线性表

B.逻辑结构与线性表不同

C.都是后进后出

D.都是后进先出

15.以下说法正确的是()。

A.栈的特点是先进先出,队列的特点是先进后出

B.栈和队列的特点都是先进后出

C.栈和队列的特点都是先进先出

D.栈的特点是先进后出,队列的特点是先进先出

16.设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。

设p指向要入队的新结点(该结点已被赋值),则入队操作为()。

A.rear->next=p;p=rear;

B.rear->next=p;rear=p;

C.p=rear->next;rear=p;

D.rear=p;rear->next=p;

17.设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:

p=front->next;x=p->data;然后指行()。

A.front->next=p->next;

B.front=p->next;

C.front=p;

D.front->next=p;

18.以下说法不正确的是()。

A.顺序队列中,当尾指针已经超越队列存储空间的上界,则一定是队列已满

B.顺序队列中,队列的头指针和尾指针均超越队列存储空间的上界,则队列已空

C.顺序栈中,栈满时再进行进栈操作称为“上溢”

D.顺序栈中,栈空时再作出栈栈操作称为“下溢”

19.一个递归算法必须包括()。

A.迭代部分

B.终止条件和迭代部分

C.递归部分

D.终止条件和递归部分

20.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。

A.front=NULL

B.front!

=NULL

C.rear!

=NULL

D.front=rear

21.向顺序栈中压入新元素时,应当()。

A.先存入元素,再移动栈顶指针

B.同时进行

C.先后次序无关紧要

D.应当先移动栈顶指针,再存入元素

22.判断一个循环队列Q(最多元素为m)为满的条件是()。

A.Q->front==(Q->rear+1)%m

B.Q->rear!

=(Q->front+1)%m

C.Q->front==Q->rear

D.Q->front=Q->rear+1

22.判断栈满(元素个数最多n个)的条件是()。

A.top==n-1

B.top!

=0

C.top=-1

D.top==0

24.队列的删除操作是在()。

A.队头

B.队尾

C.队后

D.队前

25.一个队列的入队序列是a,b,c,d,按该队列的可能输出序列使各元素依次入栈,该栈的可能输出序列是()。

(进栈出栈可以交替进行)。

A.d,a,b,c

B.d,b,a,c

C.c,a,b,d

D.d,c,b,a

单元4串

1.以下陈述中正确的是()。

A.串的长度必须大于零

B.串是一种特殊的线性表

C.空串就是空格串

D.串中元素只能是字母

2.设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为()。

A.匹配

B.求子串

C.连接

D.求串长

3.串是()。

A.任意个字母的序列

B.不少于一个字符的序列

C.有限个字符的序列

D.不少于一个字母的序列

4.串的长度是指()。

A.串中所含字符的个数

B.串中所含不同字母的个数

C.串中所含不同字符的个数

D.串中所含非空格字符的个数

5.在C语言中,存储字符串“ABCD”需占用()字节。

A.2

B.3

C.4

D.5

6.下面关于串的叙述中,不正确的是()。

A.空串是由空格构成的串

B.串即可以采用顺序存储,也可以采用链式存储

C.串是字符的有限序列

D.模式匹配是串的一种重要运算

7.串与普通的线性表相比较,它的特殊性体现在()。

A.顺序的存储结构

B.数据元素是一个字符

C.链接的存储结构

D.数据元素可以任意

8.空串与空格串()。

A.可能相同

B.相同

C.无法确定

D.不相同

9.两个字符串相等的条件是()。

A.两串包含的字符相同

B.两串的长度相等,并且两串包含的字符相同

C.两串的长度相等,并且对应位置上的字符相同

D.两串的长度相等

10.在实际应用中,要输入多个字符串,且长度无法预定。

则应该采用()存储比较合适()。

A.顺序

B.堆结构

C.无法确定

D.链式

11.下列关于串的叙述中,不正确的是()。

A.空串是由空格构成的串

B.串既可以采用顺序存储,也可以采用链式存储

C.串是字符的有限序列

D.模式匹配是串的一种重要运算

12.串是一种特殊的线性表,其特殊性体现在()。

A.可以顺序存储

B.数据元素是一个字符

C.数据元素可以是多个字符

D.可以链接存储

13.串函数StrCmp(“abA”,”aba”)的值为()。

A.“abAaba”

B.-1

C.1

D.0

14.在C语言中,存储字符串“ABCD”需要占用()字节。

A.2

B.3

C.4

D.5

15.设主串为“ABcCDABcdEFaBc”,以下模式串能与主串成功匹配的是()。

A.Abc

B.BCd

C.ABC

D.Bcd

16.字符串a1=“AEIJING”,a2=“AEI”,a3=“AEFANG”,a4=“AEFI”中最大的是()。

A.a4

B.a3

C.a2

D.a1

17.字符串〝abcd321ABCD〞的子串是()。

A.〝321a〞

B.abcD

C.〝abcABCD〞

D.〝21ABC〞

18.数组a经初始化chara[]=“English”;a[1]中存放的是()。

A.〝E〞

B.字符E

C.字符n

D.〝n〞

19.空串的长度为()。

A.1

B.2

C.0

D.3

单元5数组和广义表

1.一维数组A采用顺序存储结构,每个元素占用4个字节,第8个元素的存储地址为120,则该数组的首地址是()。

A.90

B.32

C.92

D.88

2.稀疏矩阵采用压缩存储的目的主要是()。

A.减少不必要的存储空间的开销

B.对矩阵元素的存取变得简单

C.去掉矩阵中的多余元素

D.表达变得简单

3.一个非空广义表的表头()。

A.只能是原子

B.不可能是原子

C.只能是子表

D.可以是子表或原子

4.常对数组进行的两种基本操作是()。

A.索引与、和修改

B.建立与删除

C.查找和修改

D.查找与索引

5.在二维数组A[8][10]中,每一个数组元素A[i][j]占用3个存储空间,所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储空间是()。

A.80

B.100

C.270

D.240

6.设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素A10,8在一维数组B中的下标是()。

A.58

B.53

C.18

D.45

7.广义表((a))的表尾是()。

A.a

B.((a))

C.(a)

D.0

8.设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素A8,5在一维数组B中的下标是()。

A.85

B.41

C.32

D.33

9.设广义表类((a,b,c)),则L的长度和深度分别为()。

A.1和2

B.1和3

C.2和3

D.1和1

10.广义表(a,a,b,d,e,((i,j),k))的表头是________。

A.(a)

B.a

C.(a,b)

D.a,(a,b)

11.广义表的(a,d,e,(i,j),k)表尾是________。

A.k

B.(k)

C.(d,e,(i,j),k)

D.((i,j),k)

12.稀疏矩阵的压缩存储方式通常有两种,即()。

A.三元组和十字链表

B.二元组和三元组

C.散列和十字链表

D.三元组和散列

13.设有一个对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),B数组共有55个元素,则矩阵是()阶的对称矩阵。

A.5

B.20

C.15

D.10

14.设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第53号元素对应于矩阵中的元素是()。

A.a8,1

B.a8,5

C.a10,8

D.a7,6

15.对稀疏矩阵进行压缩存储,可采用三元组表,一个10行8列的稀疏矩阵A共有73个零元素,其相应的三元组表共有()个元素。

A.7

B.10

C.80

D.8

16.广义表((a))的表尾是()。

A.()

B.(a)

C.a

D.((a))

17.广义表(a,(a,b),d,e,((i,j),k))的长度和深度分别是()。

A.5,5

B.6,6

C.5,3

D.6,4

单元6树和二叉树

1.假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()。

A.17

B.15

C.47

D.16

2.已知某二叉树的后续遍历序列是dabec,中序遍历是debac,则它的先序遍历序列是()。

A.acbed

B.cedba

C.deabc

D.decab

3.二叉树第k层上最多有()个结点。

A.2k-1

B.2k-1

C.2k-1

D.2k

4.二叉树的深度为k,则二叉树最多有()个结点。

A.2k-1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2