数据结构复习题 下载本文

内容发布更新时间 : 2024/7/1 2:16:55星期一 下面是文章的全部内容请认真阅读。

一、选择题

1.以下数据结构中,( D )是线性结构。

A.图 B. 二叉树 C. 树 D. 串 2.线性表是具有n个( C)的有限序列。

A.表元素 B.字符 C.数据元素 D.数据项 E.信息项 3.线性表采用链接存储时,其地址( D )。

A. 必须是连续的 B. 部分地址必须是连续的 C. 一定是不连续的 D. 连续与否均可以

4.一个队列的入队顺序是1,2,3,4,则队列的输出顺序是( B )。 A. 4321 B. 1234 C. 1432 D. 3241

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

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

6.在一个无向图中,所有顶点的度数之和等于所有边数的(D)倍。 A.1/2 B.1 C.4 D. 2 7.串的长度是指( B )

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

C.串中所含不同字符的个数 D.串中所含非空格字符的个数 8. 设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( C )。 A.求子串 B.联接 C.匹配 D.求串长

9.数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的( B )和操作等的学科。

A.结构 B.关系 C.逻辑存储 D.算法 10. 设有一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈的顺序是s2,s3,s4, s6, s5,s1,则栈的容量至少应该是( B )。

A.2 B.3 C.5 D.6 11.( D )是C语言中“abcd321ABCD”的子串。

A.abcd B.321AB C. “abcABC” D.“21AB”

子串的定义是什么?串中任意个连续的字符组成的子序列成为该串的子串。 12.二分查找要求被查找的表是( C )

A.键值有序的链接表 B.链接表但键值不一定有序 C.键值有序的顺序表 D.顺序表但键值不一定有序 13.数据结构的形式定义为(D,S),其中D是( B )的有限集。 A.算法 B.数据元素 C.数据操作 D.逻辑结构 14.一个算法指的是( B )。

A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C 15.具有10个叶结点的二叉树中有( B)个度为2的结点。

A.8 B.9 C.10 D.ll 16.以下数据结构中,( D )是线性结构。

A.图 B. 二叉树 C. 树 D. 串 17.数据结构的形式定义为(D,S),其中D是( B )的有限集。 A.算法 B.数据元素 C.数据操作 D.逻辑结构 18.一个算法指的是( B )。

A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C

A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。

19.在一个无向图中,所有顶点的度数之和等于所有边数的(D )倍。 A.1/2 B.1 C.4 D. 2 20.串是任意有限个(C)。

A.符号构成的序列 B.符号构成的集合 C. 字符构成的序列 D.字符构成的集合 21.二分查找要求被查找的表是( C )

A.键值有序的链接表 B.链接表但键值不一定有序 C.键值有序的顺序表 D.顺序表但键值不一定有序

22. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:(B )。 A.p.next=s;s.next=p.next; B. s.next=p.next;p.next=s; C.p.next=s;p.next=s.next; D. p.>next=s.next;p.next=s;

23. 一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列( C ). A、 1,3,2,4 B、2,3,4,1

C、 4,3,1,2 D、3,4,2,1

24. 折半查找要求查找表中各元素的关键字值必须是( A )排列。 A、 递增或递减 B、递增 C、递减 D、无序

25. 在已知待排序文件已基本有序的前提下,效率最高的排序方法是( A )

A、 直接插入排序 B、 直接选择排序 C、 快速排序 D、 归并排序 26.数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的( B )和操作等的学科。

A.结构 B.关系 C.逻辑存储 D.算法 27.下面(C )不是算法所必须具备的特性。

A.有穷性 B.确切性 C.高效性 D.可行性

28.已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是(A )。

A.108 B.180 C.176 D.112

29.一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是( C)。 A.54321 B.45321 C.43512 D.12345

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

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

31.设有两个串p和q,求q在p中首次出现的位置的运算称作(B )。 A.连接 B.模式匹配 C.求子串 D.求串长 32.串的长度是指( B )

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

C.串中所含不同字符的个数 D.串中所含非空格字符的个数 33.一棵二叉树前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为( A )。

A.CBEFDA B. FEDCBA C. CBEDFA D.不定 34.在一棵高度为k的满二叉树中,结点总数为( )

k

A.2k-1 B.2k C.2k-1 D.?log2?+1

C A.2k-1 B.2k-1-1 C.2k-1 D.2k

解析:一棵高为k的完全二叉树,当第k层只有最左边一个结点时具有最少的结点。根据二叉树的性质,第1层到第k-1层共有结点2k-1-1个,因此它至少有2k-1-1+1=2k-1个结点。 35.当采用分快查找时,数据的组织方式为 ( B ) A.数据分成若干块,每块内数据有序

B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块

C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 D. 数据分成若干块,每块(除最后一块外)中数据个数需相同 36.下面关于线性表的叙述中,错误的是( B )。

A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。 二、判断题(正确的打“√”,错误的打“Х”)

1.数据的逻辑结构有线性结构和非线性结构两大类。( √ ) 2.数据元素是数据的最小单位。( Х )数据项

3.队列逻辑上是一个下端口和上端口能增加又能减少的线性表。( Х )头只减少, 尾只增加

4.每种数据结构都具备三个基本操作:插入、删除和查找。( Х ) 5.线性表的逻辑顺序和存储顺序总是一致的。( Х ) 6.数据元素可由若干个数据项组成。( √ )

7.线性表的特点是每个元素都有一个前驱和一个后继。( Х )

8.若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1。 ( √ ) 9.空串与空格串是相同的。( Х )

10.基于某种逻辑结构之上的运算,其实现是唯一的。( Х )

11.评价一个算法时间性能的主要标准是算法的时间复杂度。( √ ) 12.链表中的头结点仅起到标识的作用。( Х ) 13.顺序存储的线性表可以随机存取。( √ ) 14.顺序存储的线性表可以随机存取。( √ )

15.单链表表示法的基本思想是用指针表示结点间的逻辑关系。( √ ) 16.栈与队列是一种操作受限的线性表。( √ ) 17. 数据项是数据的不可分割的最小单位。 ( √ )

18.单链表表示法的基本思想是用指针表示结点间的逻辑关系。( √ ) 19.栈与队列是一种操作受限的线性表。( √ ) 20. 通常从正确性、易读性、健壮性、高效性等四个方面评价算法(包括程序)的质量。( √ ) 21.数据元素是数据的最小单位。( Х )数据项

22.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( √ ) 23.线性表的逻辑顺序和存储顺序总是一致的。( Х )