数据结构复习题及标准答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构复习题及标准答案

————————————————————————————————作者:————————————————————————————————日期:

一、选择题。(每小题2分,共40分)

(1) 计算机识别.存储和加工处理的对象被统称为____A____。

A.数据

B.数据元素

C.数据结构

D.数据类型

(2) 数据结构通常是研究数据的____ A _____及它们之间的联系。

A.存储和逻辑结构

B.存储和抽象

C.理想和抽象

D.理想与逻辑

(3) 不是数据的逻辑结构是____ A ______。

A.散列结构

B.线性结构

C.树结构

D.图结构

(4) 数据结构被形式地定义为,其中D是____ B _____的有限集,R是____ C _____的有限集。

A.算法

B.数据元素

C.数据操作

D.逻辑结构

(5) 组成数据的基本单位是____ A ______。

A.数据项

B.数据类型

C.数据元素

D.数据变量

(6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。

A.线性结构

B.树型结构

C.图型结构

D.集合

(7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。

A.存储结构

B.逻辑结构

C.顺序存储结构

D.链式存储结构

(8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。

A.内部结构与外部结构

B.静态结构与动态结构

C.线性结构与非线性结构

D.紧凑结构与非紧凑结构

(9) 对一个算法的评价,不包括如下____ B _____方面的内容。

A.健壮性和可读性

B.并行性

C.正确性

D.时空复杂度

(10) 算法分析的两个方面是__ A ____。

A.空间复杂性和时间复杂性

B.正确性和简明性

C.可读性和文档性

D.数据复杂性和程序复杂性

(11) 线性表是具有n个___ C _____的有限序列(n≠0)。

A.表元素

B.字符

C.数据元素

D.数据项

(12) 线性表的存储结构是一种____ B ____的存储结构。

A.随机存取

B.顺序存取

C.索引存取

D.HASH存取

(13) 在一个长度为n 的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要向后移动____B ____个元素。

A.n-i

B.n-i+1

C.n-i-1

D.i

(14) 链表是一种采用____ B ____存储结构存储的线性表;

A.顺序

B.链式

C.星式

D.网状

(15) 下面关于线性表的叙述错误的是___ D _____。

A.线性表采用顺序存储必须占用一片连续的存储空间

B.线性表采用链式存储不必占用一片连续的存储空间

C.线性表采用链式存储便于插入和删除操作的实现

D.线性表采用顺序存储便于插入和删除操作的实现

(16) 设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B之间插入结点X的操作序列为__ B ______。

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

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

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

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

(17) 设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为___ A _____。

A. p->next=p->next->next

B. p=p->next

C. p=p->next->next

D. p->next=p

(18) 下列说法哪个正确?____ D ______

A. 堆栈是在两端操作、先进后出的线性表

B. 堆栈是在一端操作、先进先出的线性表

C. 队列是在一端操作、先进先出的线性表

D. 队列是在两端操作、先进先出的线性表

(19) 栈和队列的共同点是 _____ C _______。

A. 都是先进后出

B. 都是先进先出

C. 只允许在端点处插入和删除元素

D. 没有共同点

(20) 栈与一般线性表的区别主要在_____D______。

A、元素个数

B、元素类型

C、逻辑结构

D、插入、删除元素的位置

(21) 链栈与顺序栈相比,比较明显的优点是_____D_____。

A、插入操作更加方便

B、删除操作更加方便

C、不会出现下溢的情况

D、不会出现上溢的情况

(22) 以下数据结构中哪一个是非线性结构___ D ______。

A.队列

B.栈

C.线性表

D.二叉树

(23) 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为 _____C ______。

A. i

B. B. n=i

C. n-i+1

D.不确定

(24) 当利用大小为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行 ____ B ______语句修改top指针。

A. top++

B. top--

C. top=0

D. top

(25) 4个元素进S栈的顺序是A,B,C,D,经运算POP(S)后,栈顶元素是___ C _______。

A. A

B. B

C. C

D. D

(26) 一个栈的输入序列是a,b,c,d,e,则栈的不可能的输出序列是____ C _____。

A. edcba

B. decba

C. dceab

D. abcde

(27) 设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是____ C ______。

A. n-i

B. n-1-i

C. n+1-i

D.不能确定

(28) 字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成___ B ___个不同的字符串?

A. 15

B. 14

C. 16

D. 21

(29) 设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为____ D _______。

A. top=top+1;

B. top=top-1;

C. top->next=top;

D. top=top->next;

(30) 设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是____ C _____。

A. 6

B. 4

C. 3

D. 2

(31) 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为 ____ B _____。

A. 1和5

B. 2和4

C. 4和2

D. 5和1

(32) 设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为____ C _____。

A. R-F

B. F-R

C. (R-F+M)%M

D. (F-R+M)%M

(33) 设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为 ____ C _____。

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

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

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

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

(34) 如下陈述中正确的是___ A ______。

相关文档
最新文档