第一讲 基本概念(11526)[陈越]

小测验:算法复杂度

1、单选题:
‏下列函数中,哪个函数具有最快的增长速度:‏
选项:
A:
B:
C:
D:
答案: 【 

2、单选题:
​下面一段代码的时间复杂度是?if ( A > B ) {
    for ( i=0; i<N; i++ )
        for ( j=N*N; j>i; j-- )
            A += B;
}
else {
    for ( i=0; i<N*2; i++ )
        for ( j=N*2; j>i; j-- )
            A += B;
}‌
选项:
A:
B:
C:
D:
答案: 【 

第一讲单元测试

1、单选题:
‍算法的计算量的大小称为计算的(   )。‎
选项:
A: 效率
B: 复杂性
C: 现实性
D: 难度
答案: 【 复杂性

2、单选题:
‌在存储数据时,通常不仅要存储各数据元素的值,而且还要存储(   )。‍
选项:
A: 数据元素的类型
B: 数据的操作方法
C: 数据元素之间的关系
D: 数据的存取方法
答案: 【 数据元素之间的关系

3、单选题:
‎以下关于数据结构的说法中,正确的是(   )。‎
选项:
A: 数据的逻辑结构独立于其存储结构
B: 数据的存储结构独立于其逻辑结构
C: 数据的逻辑结构唯一决定了其存储结构 数据结构仅由其逻辑结构和存储结构决定
D: 数据结构仅由其逻辑结构和存储结构决定
答案: 【 数据的逻辑结构独立于其存储结构

4、单选题:
‌一个算法应该是(   )。​
选项:
A: 程序
B: 问题求解步骤的描述
C: 要满足五个基本特性
D: 程序且满足五个基本特性
答案: 【 问题求解步骤的描述

5、单选题:
‌可以用(   )定义一个完整的数据结构。‍
选项:
A: 数据元素
B: 数据对象
C: 数据关系
D: 抽象数据类型
答案: 【 抽象数据类型

6、判断题:
‌线性表中的每个结点最多只有一个前驱和一个后继。(  )‏
选项:
A: 正确
B: 错误
答案: 【 正确

7、判断题:
‌线性表的逻辑顺序与物理顺序总是一致的。​
选项:
A: 正确
B: 错误
答案: 【 错误

8、判断题:
‏顺序表的空间利用率高于链表。‎
选项:
A: 正确
B: 错误
答案: 【 正确

9、判断题:
‍在长度为n的顺序表中,求第i个元素的直接前驱算法的时间复杂度为O(1)。‏
选项:
A: 正确
B: 错误
答案: 【 正确

10、判断题:
‌线性表就是顺序存储的表。​
选项:
A: 正确
B: 错误
答案: 【 错误

11、判断题:
​线性表的顺序存储优于链式存储。‏
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
‎数据的逻辑结构是数据结构在计算机中的表示。​
选项:
A: 正确
B: 错误
答案: 【 错误

第二讲 线性结构(21900)[何钦铭]

2.1节单元测试

1、单选题:
‎与单链表相比,双链表(   )。‌
选项:
A: 可随机访问表中结点
B: 访问前后结点更为便捷
C: 执行插入、删除操作更为简单
D: 存储密度等于 1
答案: 【 访问前后结点更为便捷

2、单选题:
‍设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(   )最节省时间。‌
选项:
A: 单链表
B: 单循环链表
C: 带尾指针的单循环链表
D: 带头结点的双循环链表
答案: 【 带头结点的双循环链表

3、单选题:
​线性表(a1,a2,…,an)以链接方式存储时,访问第 i 位置元素的时间复杂度为(   )。‏
选项:
A: O(i)
B: O(1)
C: O(n)
D: O(i-1)
答案: 【 O(n)

4、单选题:
‌假定顺序表中的第一个数据元素的存储地址为第200个存储单元,若每个数据元素占用6个存储单元,则第4个数据元素的地址是第(   )个存储单元。‌
选项:
A: 218
B: 224
C: 230
D: 212
答案: 【 218

5、单选题:
‌若将某一数组A中的元素,通过头插法插入至单链表B中(单链表初始为空),则插入完毕后,B中结点的顺序(   )。‏
选项:
A: 与数组中元素的顺序相反
B: 与数组中元素的顺序相同
C: 与数组中元素的顺序无关
D: 与数组中元素的顺序部分相同、部分相反
答案: 【 与数组中元素的顺序相反

6、单选题:
‍顺序表比链表的存储密度更大,是因为(   )。‌
选项:
A: 顺序表的存储空间是预先分配的
B: 顺序表不需要增加指针来表示元素之间的逻辑关系
C: 链表的所有结点是连续的
D: 顺序表的存储空间是不连续的
答案: 【 顺序表不需要增加指针来表示元素之间的逻辑关系

7、单选题:
‏下面关于线性表的叙述中,错误的是(   )。​
选项:
A: 线性表采用顺序存储,必须占用一片连续的存储单元
B: 线性表采用顺序存储,便于进行插入和删除操作
C: 线性表采用链接存储,不必占用一片连续的存储单元
D: 线性表采用链接存储,便于插入和删除操作
答案: 【 线性表采用顺序存储,便于进行插入和删除操作

8、单选题:
‏链表不具有的特点是(   )。‍
选项:
A: 插入、删除不需要移动元素
B: 可随机访问任一元素
C: 不必事先估计存储空间
D: 所需空间与线性长度成正比
答案: 【 可随机访问任一元素

9、单选题:
‎单链表中,增加一个头结点的目的是为了(   )。​
选项:
A: 使单链表至少有一个结点
B: 标识表结点中首结点的位置
C: 方便运算的实现
D: 说明单链表是线性表的链式存储
答案: 【 方便运算的实现

10、单选题:
‍线性表的顺序存储结构是一种(   )的存储结构。‌
选项:
A: 随机存取
B: 顺序存取
C: 索引存取
D: 散列存取
答案: 【 随机存取

11、单选题:
‍线性表是具有n个(   )的有限序列。‎
选项:
A: 数据表
B: 字符
C: 数据元素
D: 数据项
答案: 【 数据元素

12、单选题:
‏一个顺序表所占用的存储空间大小与(   )无关。‌
选项:
A: 表的长度
B: 元素的存放顺序
C: 元素的类型
D: 元素中各字段类型
答案: 【 元素的存放顺序

13、单选题:
‍若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为了提高效率,应采用(   )的存储方式。‌
选项:
A: 单链表
B: 双向链表
C: 单循环链表
D: 顺序表
答案: 【 顺序表

14、单选题:
‍在一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动(   )个元素。‎
选项:
A: n
B: i-1
C: n-i    
D: n-i-1 
答案: 【 n-i    

15、单选题:
‎对于顺序表,访问第i个位置的元素和在第i个位置插入一个元素的时间复杂度为(   )。‌
选项:
A: O(n),O(n)
B: O(n),O(1)
C: O(1),O(n)
D: O(1),O(1)
答案: 【 O(1),O(n)

16、判断题:
​单链表可以实现随机存取。​
选项:
A: 正确
B: 错误
答案: 【 错误

17、判断题:
‎链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。‌
选项:
A: 正确
B: 错误
答案: 【 错误

18、判断题:
​顺序存储方式的优点是存储密度大,且插入、删除运算效率高。‏
选项:
A: 正确
B: 错误
答案: 【 错误

19、判断题:
‍循环链表不是线性表。‍
选项:
A: 正确
B: 错误
答案: 【 错误

20、判断题:
‏线性表的特点是每个元素都有一个前驱和一个后继。‌
选项:
A: 正确
B: 错误
答案: 【 错误

21、判断题:
‏线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。​
选项:
A: 正确
B: 错误
答案: 【 错误

22、判断题:
‌线性表若采用链式存储表示,在删除时不需要移动元素。‏
选项:
A: 正确
B: 错误
答案: 【 正确

23、判断题:
​在线性链表中删除中间结点时,只需将被删结点释放。‍
选项:
A: 正确
B: 错误
答案: 【 错误

24、判断题:
‍链表中的头结点仅起到标识的作用。‍
选项:
A: 正确
B: 错误
答案: 【 错误

25、判断题:
​一个顺序表所占用的存储空间大小与元素的存放顺序无关。‌
选项:
A: 正确
B: 错误
答案: 【 正确

26、填空题:
‎在仅设置了尾指针的循环链表中,访问第一个结点的时间复杂度是O(__)。‏
答案: 【 1

27、填空题:
‍当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。​
答案: 【 顺序

28、填空题:
‎链接存储的特点是利用________来表示数据元素之间的逻辑关系。‌
答案: 【 指针

29、填空题:
‎将长度为n的单链表链接在长度为m的单链表后面,其算法的时间复杂度是O(     )。‏
答案: 【 m

30、填空题:
‍一个具有n个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为O(    ) 。‌
答案: 【 n

2.2节单元测试

1、单选题:
‍栈是(   )。​
选项:
A: 顺序存储的线性结构
B: 链式存储的非线性结构
C: 限制存取点的线性结构
D: 限制存储点的非线性结构
答案: 【 限制存取点的线性结构

2、单选题:
‌(   )不是栈的基本操作。‌
选项:
A: 删除栈顶元素
B: 删除栈底元素
C: 判断栈是否为空
D: 将栈置为空栈
答案: 【 删除栈底元素

3、单选题:
‏假定利用数组a[n]顺序存储为一个栈,用top表示栈顶指针,top==-1表示栈空,并已知栈未满,当元素x进栈时所执行的操作为(   )。‎
选项:
A: a[--top]=x
B: a[top--]=x
C: a[++top]=x
D: a[top++]=x
答案: 【 a[++top]=x

4、单选题:
‎和顺序栈相比,链栈有一个比较明显的优势是(   )。‎
选项:
A: 通常不会出现栈满的情况
B: 通常不会出现栈空的情况
C: 插入操作更容易实现
D: 删除操作更容易实现
答案: 【 通常不会出现栈满的情况

5、单选题:
​设链表不带头结点且所有操作均在表头进行,则下列最不适合作为链栈的是(   )。 ​
选项:
A: 只有表头结点指针,没有表尾指针的双向循环链表
B: 只有表尾结点指针,没有表头指针的双向循环链表
C: 只有表头结点指针,没有表尾指针的单向循环链表
D: 只有表尾结点指针,没有表头指针的单向循环链表
答案: 【 只有表头结点指针,没有表尾指针的单向循环链表

6、单选题:
‍设有一个空栈,栈顶指针为1000H,每个元素需要1个存储单元,在执行Push、Push、Pop、Push、Pop、Push、Pop、Push操作,栈顶指针的值为(   )。‎
选项:
A: 1002H
B: 1003H
C: 1004H
D: 1005H
答案: 【 1002H

7、单选题:
‏若一个栈的输入序列是1, 2, 3,……, n,输出序列的第一个元素是n,则第i个输出元是(   )。‌
选项:
A: 不确定
B: n-i
C: n-i-1
D: n-i+1
答案: 【 n-i+1

8、单选题:
​下列关于栈的描述中错误的是( )。‎
选项:
A: 栈是先进后出的线性表
B: 栈只能顺序存储
C: 栈具有记忆作用
D: 对栈的插入与删除操作中,不需要改变栈底指针
答案: 【 栈只能顺序存储

9、单选题:
‏若元素a、b、c、d、e、f依次进栈,允许进栈、退栈操作交替进行,但不允许连续3次进行退栈操作,则不可能得到的出栈序列是(   )。‌
选项:
A: dcebfa
B: cbdaef
C: bcaefd
D: afedcb
答案: 【 afedcb

10、单选题:
​用S表示进栈操作,用X表示出栈操作,若元素的进栈顺序是1234, 为了得到1342的出栈顺序,相应的S和X的操作序列为(   )。‏
选项:
A: SXSXSSXX
B: SSSXXSXX
C: SXSSXXSX
D: SXSSXSXX
答案: 【 SXSSXSXX

11、单选题:
‍采用共享栈的好处是(   )。‏
选项:
A: 减少存取时间,降低发生上溢的可能
B: 节省存储空间,降低发生上溢的可能
C: 减少存取时间,降低发生下溢的可能
D: 节省存储空间,降低发生下溢的可能
答案: 【 节省存储空间,降低发生上溢的可能

12、判断题:
‏任何一个递归过程都可以转换成非递归过程。‎
选项:
A: 正确
B: 错误
答案: 【 正确

13、判断题:
​若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列1,5,4,6,2,3。‏
选项

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注