数据结构模拟题 下载本文

数据结构试题

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

2. 在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。 A. O(n) B. O(n/2) C. O(1) D. O(n2)

3. 带头结点的单链表first为空的判定条件是:

A. first == NULL; B. first->link == NULL; C. first->link == first; D. first != NULL;

4. 当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为( )。

A. n-2 B. n-1 C. n D. n+1

5. 在系统实现递归调用时需利用递归工作记录保存实际参数的值。在传值参数情形,需为

对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的( ),在被调用程序中可直接操纵实际参数。

A. 空间 B. 副本 C. 返回地址 D. 地址

7. 在一棵树中,( )没有前驱结点。

A. 分支结点 B. 叶结点 C. 树根结点 D. 空结点

8. 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( )。 A. 2 B. 1 C. 0 D. –1

8. 对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为( )的值除以9。 A. 20 B. 18 C. 25 D. 22

11. 在有向图中每个顶点的度等于该顶点的( )。

A. 入度 B. 出度 C. 入度与出度之和 D. 入度与出度之差

10. 在基于排序码比较的排序算法中,( )算法的最坏情况下的时间复杂度不高于

O(nlog2n)。

A. 起泡排序 B. 希尔排序 C. 归并排序 D. 快速排序

11. 当α的值较小时,散列存储通常比其他存储方式具有( )的查找速度。

A. 较慢

B. 较快

C. 相同

七、 填空题(每小题1分,共10分)

1. 二维数组是一种非线性结构,其中的每一个数组元素最多有_________个直接前驱(或

直接后继)。

2. 将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,

A[0][0]存放于B[0]中。对于任意给定数组元素B[K],它应是A中第_________行的元

素。

3. 链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的________域的值。

4. 在一个链式栈中,若栈顶指针等于NULL则为________。

5. 主程序第一次调用递归函数被称为外部调用,递归函数自己调用自己被称为内部调用,

它们都需要利用栈保存调用后的_________地址。

6. 在一棵树中,______结点没有后继结点。

7. 一棵树的广义表表示为a (b (c, d (e, f), g (h) ), i (j, k (x, y) ) ),结点f的层数为______。假

定根结点的层数为0。

8. 在一棵AVL树(高度平衡的二叉搜索树)中,每个结点的左子树高度与右子树高度之

差的绝对值不超过________。

12. n (n﹥0) 个顶点的无向图最多有________条边,最少有________条边。

13. 在索引存储中,若一个索引项对应数据对象表中的一个表项(记录),则称此索引为

________索引,若对应数据对象表中的若干个表项,则称此索引为________索引。

八、 判断题(每小题1分,共10分)

1. 数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。

2. 链式存储在插入和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间

的逻辑顺序。

3. 在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

4. 通常递归的算法简单、易懂、容易编写,而且执行的效率也高。

5. 一个广义表的表尾总是一个广义表。

6. 当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后

再按条件把它逐层向下调整,直到调整到合适位置为止。

7. 对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为

O(h)。

8. 存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有

关。