考研数据结构A在线题库每日一练(六十四)
以下是希赛网给大家分享考研数据结构A在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构A在线题库每日一练,以下为具体内容
1、若串S=“database”,其非空子串数目为()。
A、8
B、37
C、36
D、9
2、已知数据表A中每个元素距其最终位置不远,则采用()排序算法最节省时间。
A、堆排序
B、直接插入排序
C、快速排序
D、简单选择排序
3、由abc,3个结点可以构造出多少种不同的二叉树?( )
A、2
B、3
C、4
D、5
4、若线性表最常用的操作是存取第i个元素及其前驱的值,则采取()存储方式最节省时间。
A、单链表
B、双链表
C、顺序表
D、单向循环链表
1、试题答案:C
试题解析:
串中任意个连续的字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。在本题中,串S的长度为1的子串有8个,长度为2的子串有7个,长度为3的子串有6个,…,长度为8的子串有1个,因此子串的个数=8+7+6+5+4+3+2+1=36,故本题选C。
2、试题答案:B
试题解析:
堆排序和简单选择排序的时间复杂度不受序列初始状态影响,因此A和D错误。对于B,序列越有序,直接插入排序越节省时间,因此B正确。对于C,序列越有序,快速排序完成排序所需的时间越多,因此C错误。故本题选B。
3、试题答案:D
试题解析:
画出不同形态的二叉树如下:
故本题选D。
4、试题答案:C
试题解析:
顺序表最适合存取第i个元素及其前驱的值。因为顺序表中的元素在物理上是相邻的,所以访问第i个元素和其前驱的值可以通过简单的指针操作和算术运算来实现。而对于链表来说,要访问第i个元素及其前驱的值需要从链表头开始遍历,时间复杂度较高。双向链表可以存取前驱元素,但也不如顺序表快速。因此,选项C顺序表是最佳选择。故本题选C。