中国石油大学线性表栈队列测试题

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

一、选择题(每小题1分,共30分)

1.算法的计算量的大小称为计算的().

A.效率 B.复杂性 C. 现实性 D.难度

2.下面哪一条是顺序存储结构的优点?()

A.存储密度B.插入运算方便 C.删除运算方便D.可方便地用于各种逻辑结构的存储表示

3.下面说法错误的是()

(1)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2N)的算法

(2)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界

(3)同一个算法,实现语言的级别越高,执行效率就越低

A.(1)

B.(2)

C.(3)

4.以下哪一个术语与数据的存储结构无关?()

A.单链表 B.线性表 C.顺序表 D. 双向链表

5.下面程序段FOR (i=n-1;n>=1;n--)

FOR (j=1;j<=i;j++)

If (A[j]>A[j+1])

{ t=A[j+1];

A[j+1]=A[j];

A[j]=t;} 其中n为正整数,则最后一行的语句频度在最坏情况下是( ) A. O(nlogn) B.O(n) C.O(n2) D.O(n3)

6.连续存储设计时,存储单元的地址()。

A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续

7.以下属于逻辑结构的是()。 A.顺序表 B.循环链表 C.线性表 D. 单链表

8. 若某线性表最常用的操作是存取任一指定序号的元素和在表的最后进行插入和删除运算,则利用()存储方式最节省时间。 A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表

9. 若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除一个元素,则采用()存储方式最节省运算时间。 A.单链表 B.双链表 C.仅有头指针的单循环链表 D.仅有尾指针的单循环链表

10.在一个以h为头的单循环链表中,p指针指向链尾的条件是()

A.p ==NULL B.h→next==NULL C.head→next==head D.head!=NULL

11.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。

A.不确定

B. n-i+1

C. i

D. n-i

12.表达式a*(b+c)-d的后缀表达式是( )。 A.abcd*+- B. abc+*d- C. abc*+d- D. -+*abcd

13.设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。

A.线性表的顺序存储结构 B.队列 C.线性表的链式存储结构 D.栈

14.递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。

A.队列 B.多维数组 C.栈 D.线性表

15.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。

A.(rear-front+m)%m B.rear-front+1 C.(front-rear+m)%m D.(rear-front)%m

16.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少是( )。 A. 6 B. 4 C. 3 D. 2

17.用单链表表示的链式队列的队头在链表的()位置。 A.链头 B.链尾 C.链中 D.不确定18.栈和队列的共同点是()。

A.都是先进先出

B.都是先进后出

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

D.没有共同点

19.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。 A. 808 B. 818 C. 1010 D. 1020

20.将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标

22.循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。

A. (rear-front+m)%m

B. rear-front+1

C. rear-front-1

D. rear-front

23.循环队列存储在数组A[0..m]中,则入队时()。

A. rear=rear+1

B. rear=(rear+1) %(m-1)

C. rear=(rear+1)%m

D. rear=(rear+1)%(m+1)

24.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()

A.head==NULL B.head→next==NULL C.head→next==head D.head!=NULL

25.以下属于存储结构的是()。A.顺序表 B.树 C.线性表 D. 图

26.链表不具有的特点是() A.插入、删除不需要移动元素 B.可随机访问任一元素

C.不必事先估计存储空间 D.所需空间与线性长度成正比

27.对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。

A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)

28.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。

A. BA+141

B. BA+180

C. BA+222

D. BA+225

29.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。 A. 808 B. 818 C. 1010 D. 1020

30.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B [1..(n(n+1))/2]中,则在B中确定a ij(i

A. i*(i-1)/2+j

B. j*(j-1)/2+i

C. i*(i+1)/2+j

D. j*(j+1)/2+i

二、应用题(每题4分,共40分)

1.线性表的顺序存储结构具有三个弱点:其一,在作插入或删除操作时,需移动大量元素;其二,由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;其三,表的容量难以扩充。线性表的链式存储结构是否一定都能够克服上述三个弱点,试讨论之。

2.设单链表中某指针p所指结点(即p结点)的数据域为data,链指针域为next,请写出在p结点之后插入s结点的操作.

3.在循环单链表和双向循环链表中,能否从当前结点出发访问到任何一个结点?试说明原因。

4.有5个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D

相关文档
最新文档