数据结构复习题及答案(12级) 下载本文

数据结构复习题及答案(12级)

一、选择题。(每小题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 ______。