中国石油大学《数据结构》复习题及答案 下载本文

中国石油大学(北京)远程教育学院

期 末 复习题

一、选择题(本大题共15小题,每小题2分,共30分) 1. 以下与数据的存储结构无关的术语是( )

A、循环队列 C、哈希表

B、链表 D、栈

2. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是

( ) A、110 C、100

B、108 D、120

3. 假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是( )

A、head= =NULL B、head–>next= =NULL C、head–>next= =head D、head!=NULL

4. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不可能出现的出栈

序列是( )

A、2,4,3,1,5,6 C、4,3,2,1,5,6

B、3,2,4,1,6,5 D、2,3,5,1,6,4

5. 下列关键字序列中,构成小根堆的是( )

A、{12,21,49,33,81,56,69,41} B、{81,69,56,49,41,33,21,12} C、{81,49,69,41,21,56,12,33} D、{12,21,49,33,81,41,56,69} 6. 下列数据结构中,不属于二叉树的是( )

A、B树

B、AVL树 C、二叉排序树

D、哈夫曼树

7. 用顺序存储的方法来存储一棵二叉树,存放在一维数组A[1..N]中,若结点A[i]有右孩

子,则其右孩子是( )。

A、A[2i] B、A[2i-1] C、A[2i+1] D、A[i/2]

8. 设树T的高度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1,则T中叶子

数为( )

1

A、 5 B、 6 C、7 D、 8

9. 有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序

树,若希望高度最小,则应选择下面哪个序列输入( ) A、45,24,53,12,37,96,30 B、37,24,12,30,53,45,96 C、12,24,30,37,45,53,96 D、30,24,12,37,45,96,53

10. 对下面有向图给出了四种可能的拓扑序列,其中错误的是( )

A、1,5,2,6,3,4 B、1,5,6,2,3,4 C、5,1,6,3,4,2 D、5,1,2,6,4,3

11. m阶B-树中所有非终端(除根之外)结点中的关键字个数必须大于或等于( )

A、 [m/2]+1 B、[m/2]-1 C、[m/2] D、m 12. 散列文件也称为( )

A、顺序文件 C、直接存取文件 13. 数据结构是( )

A、一种数据类型 B、数据的存储结构

C、一组性质相同的数据元素的集合

D、相互之间存在一种或多种特定关系的数据元素的集合

14. 从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是( )

A、线性结构

B、树形结构

B 、索引文件 D、间接存取文件

C、线性结构和树型结构 D、线性结构和图状结构 15. 设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p→

llink和p→rlink表示,则同样表示p指针所指向结点的表达式是( ) A、p→llink

B、p→rlink

C、p→llink→llink D、p→llink→rlink

16. 若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈( i =1,2)

2

栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是( ) A、 |top[2]-top[1]|=0 C、 top[1]+top[2]=m

B、 top[1]+1=top[2] D、 top[1]=top[2]

17. 若一棵二叉树有11个叶子结点,则该二叉树中度为2的结点个数是( )

A、10

B、11

C、12

D、不确定的

18. 树的先根序列等同于与该树对应的二叉树的( )

A、先序序列

B、中序序列

C、后序序列

D、层序序列

19. 下面关于哈希(Hash,杂凑)查找的说法正确的是( )

A、哈希函数构造的越复杂越好,因为这样随机性好,冲突小 B、除留余数法是所有哈希函数中最好的 C、不存在特别好与坏的哈希函数,要视情况而定

D、若需在哈希表中删去一个元素,解决冲突都只要简单的将该元素删去即可 20. 下列序列中,( )是执行第一趟快速排序后所得的序列。

A、 [68,11,18,69] [23,93,73] B、 [68,11,69,23] [18,93,73] C、 [93,73] [68,11,69,23,18] D、 [68,11,69,23,18] [93,73] 21. 下列关键字序列中,构成小根堆的是( )

A、 (84,46,62,41,28,58,15,37) B、 (84,62,58,46,41,37,28,15) C、 (15,28,46,37,84,41,58,62) D、 (15,28,46,37,84,58,62,41) 22. ISAM文件和VASM文件属于( )

A、索引非顺序文件 B、顺序文件 C、索引顺序文件 D、散列文件 23. 下面程序段的时间复杂度为( )

for (i=0; i

for (j=0; j

A[i][j]=i*j;

A、O(m2) B、 O(n2) C、O(m*n) D、O(m+n) 24. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一

个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( )

3

A、q->next=s->next;s->next=p; B、s->next=p;q->next=s->next; C、p->next=s->next;s->next=q; D、s->next=q;p->next=s->next; 25. 为便于判别有向图中是否存在回路,可借助于( )

A、广度优先搜索算法 B、最小生成树算法 C、最短路径算法 D、拓扑排序算法

26. 若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是

( )

A、SXSSXXXX B、SXXSXSSX C、SXSXXSSX D、SSSXXSXX

27. 设有一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈的顺序是

s2,s3,s4,s6,s5,s1,则栈的容量至少应该是( ) A、2 B、3 C、5 D、6

28. 假设以数组A[m]存放循环队列的元素。已知队列的长度为length,指针rear指向队尾

元素的下一个存储位置,则队头元素所在的存储位 置为( )。 A、(rear-length+m+1)%m C、(rear-length+m-1)%m

B、(rear-length+m)%m D、(rear-length)%m

29. 在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为

( )。

A、s->next=rear;rear=s; B、front=front->next; C、s->next=front;front=s; D、rear->next=s;rear=s; 30. 对于哈希函数H(key)=key,被称为同义词的关键字是( )

A、35和41 B、 23和39 C、15和44 D、25和51 31. 采用二叉链表存储的n个结点的二叉树,共有空指针( )个。

A、n+1 B、n C、n-1 D、2n-1 32. 连通网的最小生成树是其所有生成树中( ) A、顶点集最小的生成树

B、边集最小的生成树

C、顶点权值之和最小的生成树 D、边的权值之和最小的生成树 33. 对记录序列(314,298,508,123,486,145)依次按个位和十位进行两趟基数排序之后

所得结果为( )

A、123,145,298,314,486,508 B、508,314,123,145,486,298

4