1、华中师范大学成人教育数据结构期末考试复习题及参考答案华中师范大学成人教育数据结构期末考试复习题及参考答案一、单选题(共 15 道小题,共 30 分)1. 对线性表进行折半查找时,要求线性表必须( )。(2 分)A. 以顺序方式存储B. 以链接方式存储C. 以顺序方式存储,且元素按关键字有序排序D. 以链接方式存储,且元素按关键字有序排序【答案】C【解析】本题考点是线性表折半查找的条件。折半查找的前提条件是线性表以顺序方式存储,且元素按关键字有序排序,因此,本题参考答案是C。2. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( )(2 分)A. 访问第i个结点(1=i=n)和求第i个
2、结点的直接前趋(2=i=n)B. 在第i个结点后插入一个新的结点(1=i=n)C. 删除第i个结点(1=ileft;r=p-right;q-right=r;r-left=q;B. q=p-right;r=p-left;q-right=r;r-left=q;C. q=p-left;r=p-right;q-left=r;r-right=q;D. q=p-left;r=p-right;q-right=r-left;【答案】A【解析】本题考点是链表的操作。根据链表结点类型的定义可以看出,该链表是一个双向链表。删除双链表中结点p(由p指向的结点)的操作是:q=p-left;r=p-right;q-rig
3、ht=r;r-left=q;因此,本题参考答案是A。8. 以下哪一个术语与数据的存储结构无关( )(2 分)A. 顺序表B. 静态数组C. 二叉树D. 链表【答案】C【解析】本题考点是数据结构的基本概念。二叉树是每个节点最多有两个子树的树结构,不是数据的存储结构。因此,本题参考答案是C。9. 一个递归算法必须包括( )。(2 分)A. 递归部分B. 终止条件和递归部分C. 迭代部分D. 终止条件和迭代部分【答案】B【解析】本题考点是递归算法的组成。运用递归解决问题的三个条件是:1)可以把要解决的问题转化为一个新问题,而这个新的问题的解决方法仍与原来的解决方法相同,只是所处理的对象有规律地递增或
4、递减。2)可以应用这个转化过程使问题得到解决。3)必定要有一个明确的结束递归的条件。因此,本题参考答案是B。10. 对于只在表的首、尾进行插入操作的线性表,宜采用的存储结构为( )(2 分)A. 顺序表B. 用头指针表示的单循环链表C. 用尾指针表示的单循环链表D. 单链表【答案】C【解析】本题考点是循环链表的优点。插入和删除方便的存储结构是链表,这是因为链表插入和删除时不需要移动元素就能实现。只在表的首、尾进行插入操作的线性表用尾指针表示的单循环链表最适宜,减少了移动指针的次数。因此,本题参考答案是C。11. 具有10个叶结点的二叉树中有( )个度为2的结点.(2 分)A. 8B. 9C.
5、10D. ll【答案】B【解析】本题考点是二叉树的性质。叶子结点个数=度为2的结点个数+1。因此,本题参考答案是B。12. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( ) 。(2 分)A. 9B. 11C. 15D. 不确定【答案】B【解析】本题考点是二叉树的性质。因为二叉树所有结点的个数都不大于2,所以结点总数n=n0+n1+n2 (1)又因为度为1和度为2的结点分别有1个子树和2个子树,所以,二叉树中子树结点就有n(子)=n1+2n2二叉树中只有根节点不是子树结点,所以二叉树结点总数n=n(子)+1 即 n=n1+2n2+1 (2)结合两式就得n0=n2+
6、1。因此,本题参考答案是B。13. 设栈s的类型为sqstack ,判定栈空的条件是( )。(2 分)A. s = =nilB. s-top= =0C. s.top = =0D. s.top = = nil【答案】B【解析】本题考点是栈空的条件。判断栈空的条件是栈顶元素是否为0。因此,本题参考答案是B。14. 在一棵具有n个结点的二叉树中,所有结点的空子树个数等于( )。(2 分)A. nB. n-1C. n+1D. 2*n【答案】C【解析】本题考点是二叉树的性质。结点有n个,于是子树总数为2n,所以的边数为n-1,因此结点的空子树数量为2n-(n-1)= n+1因此,本题参考答案是C。15.
7、 一个栈的输入序列是a,b,c,d,e ,则不可能输出是( )。(2 分)A. ecdabB. cdebaC. decbaD. abcde【答案】A【解析】本题考点是栈的基本原理。由于输入序列中d在c之后输入,若在e输入之前d和c还未输出,那么将来输出时d一定在c之前输出。因此,本题参考答案是A。二、多选题(共 10 道小题,共 40 分)16. 下面关于哈希(Hash)查找的说法不正确的是()(4 分)A. 哈希函数构造的越复杂越好,因为这样随机性好,冲突小B. 除留余数法是所有哈希函数中最好的C. 不存在特别好与坏的哈希函数,要视情况而定D. 若需在哈希表中删去一个元素,不管用何种方法解决
8、冲突都只要简单的将该元素删去即可【答案】A, B, D【解析】不存在特别好与坏的哈希函数,要视情况而定17. 线性表的特点正确的()(4 分)A. 存在唯一的一个被称作”第一个“的数据元素。B. 不存在唯一的一个被称作”第一个“的数据元素。C. 存在唯一的一个被称作”最后一个“的数据元素。D. 不存在唯一的一个被称作”最后一个“的数据元素。【答案】A, C【解析】解析内容18. 对于单链表表示法,以下说法正确的是()(4 分)A. 指向链表的第一个结点的指针,称为头指针B. 单链表的每一个结点都被一个指针所指C. 任何结点只能通过指向它的指针才能引用D. 尾指针变量具标识单链表的作用,故常用尾
9、指针变量来命名单链表【答案】A, B, C【解析】指向链表的第一个结点的指针,称为头指针;单链表的每一个结点都被一个指针所指;任何结点只能通过指向它的指针才能引用19. 下面关于串的的叙述中,正确的是()(4 分)A. 串是字符的有限序列B. 空串是由空格构成的串C. 模式匹配是串的一种重要运算D. 串既可以采用顺序存储,也可以采用链式存储【答案】A, C, D【解析】串是字符的有限序列;模式匹配是串的一种重要运算;串既可以采用顺序存储,也可以采用链式存储20. 单链表表示法的基本思想是指针P表示结点间的逻辑关系,则以下说法正确的是()(4 分)A. 任何指针都不能用打印语句输出一个指针型变量
10、的值B. 如果要引用(如访问)p所指结点,只需写出p(以后跟域名)即可C. 若想修改变量p的值(比如让P指向另一个结点),则应直接对p赋值D. 对于一个指针型变量P的值。只需知道它指的是哪个结点【答案】A, C, D【解析】任何指针都不能用打印语句输出一个指针型变量的值;若想修改变量p的值(比如让P指向另一个结点),则应直接对p赋值;对于一个指针型变量P的值。只需知道它指的是哪个结点21. 对线性表,可进行如下基本操作()(4 分)A. 随机存取B. 插入C. 删除D. 查找【答案】A, B, C, D【解析】对线性表,可进行随机存取、插入、删除和查找22. 依据所有数据成员之间的逻辑关系的不
11、同,数据结构分为( )(4 分)A. 非线性结构B. 逻辑结构C. 物理结构D. 线性结构【答案】A, D【解析】解析内容23. 以下说法错误的是()(4 分)A. 数据元素是数据的最小单位B. 数据项是数据的基本单位C. 数据结构是带有结构的各数据项的集合D. 数据结构是带有结构的数据元素的集合【答案】A, B, C【解析】数据结构是带有结构的数据元素的集合24. 以下说法正确的是()(4 分)A. 二叉树可以是空集B. 二叉树的任一结点至多有两棵子树C. 二叉树与树具有相同的树形结构D. 二叉树的子树有次序之分【答案】A, B, D【解析】二叉树可以是空集;二叉树的任一结点至多有两棵子树;二叉树的子树有次序之分25. 以下说法正确的是()(4 分)A. 对于线性表来说,定位运算在顺序表和单链表上的量级均为O(n)B. 读表元运算在顺序表上只需常数时间O(1)便可实现,因此顺序表是一种随机存取结构C. 在链表上实现读表
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1