# 课堂测验
## 一、 单选题(共8题,40分)
1. 数据结构通常是研究数据的( )及它们之间的相互联系。
- A、 存储结构和逻辑结构
- B、 存储和抽象
- C、 联系和抽象
- D、 联系与逻辑
2. 线性表采用链式存储时,其地址( )
- A、 必须是连续的
- B、 部分地址必须是连续的
- C、 一定是不连续的
- D、 连续与否均可以
3. 在双向链表存储结构中,删除p所指的结点时须修改指针( )
- A、 `(p->llink)->rlink = p->rlink ; (p->rlink)->llink = p->llink ;`
- B、 `p->llink = (p->llink)->llink ; (p->llink)->rlink = p ;`
- C、 `(p->rlink)->llink = p ; p->rlink = (p->rlink)->rlink ;`
- D、 `p->rlink = (p->llink)->llink ; p->llink = (p->rlink)->rlink ;`
4. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若pn 是n,则Pi为( )
- A、 i
- B、 n-i
- C、 n-i+l
- D、 不确定
5. 在一个链队列中,若f、r分别为队首、队尾指针,则插入p所指结点的操作为( )。
- A、 `f->link = p;f = p`
- B、 `r->link = p;r = p`
- C、 `p->link = r;r = p`
- D、 `p->link = f;f = p`
6. 以下论述正确的是( )。
- A、 空串与空格串是相同的
- B、 "tel"是"Telephone"的子串
- C、 空串是零个字符的串
- D、 空串的长度等于1
7. 假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为( )个。
- A、 15
- B、 16
- C、 17
- D、 47
8. 某二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为( )
- A、 ACBED
- B、 DECAB
- C、 DEABC
- D、 CEDBA
## 二、 判断题(共6题,30分)
9. 数据的逻辑结构与数据元素本身的内容和形式无关。
对
错
10. 对任何数据结构链式存储结构一定优于顺序存储结构。
对
错
11. 循环队列通常用指针来实现队列的头尾相接。
对
错
12. 串中任意个字符组成的子序列称为该串的子串
对
错
13. 根据任意一种遍历序列即可唯一确定对应的二叉树。
对
错
14. 折半查找法要求待查表的关键字必须有序。
对
错
# 一、单选题(共31题)
1. 在单链表中,增加头结点的目的是( )。
- A.使单链表至少有一个结点
- B.标志表中首结点的位置
- C.方便运算的实现
- D.说明该单链表是线性表的链式存储结构
2. 在顺序表中,只要知道( ),就可以求出任意一个结点的存储地址。
- A.基地址
- B.结点大小
- C.向量大小
- D.基地址和结点大小
3. 下面关于线性表的叙述,错误的是( )。
- A.线性表采用顺序存储,必须占用一片地址连续的单元
- B.线性表采用顺序存储,便于进行插入和删除操作
- C.线性表采用链式存储,不必占用一片地址连续的单元
- D.线性表采用链式存储,便于进行插入和删除操作
4. 在单链表指针为p的结点之后插入指针为s结点,正确的操作是( )。
- A.p->link=s;s->link=p->link
- B.s->link=p->link;p->link=s
- C.p->link=s;p->link=s->link
- D.p->link=s->link;p->link=s
5. 链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( )存储方式最节省运算时间。
- A.单链表
- B.双链表
- C.单循环链表
- D.带头结点的双向循环链表
6. 链表不具备的特点是( )。
- A.随机访问
- B.不必事先估计存储空间
- C.插入删除时不需移动元素
- D.所需空间与线性表成正比
7. 在( )的运算中,使用顺序表比链表好。
- A.插入
- B.根据序号查找
- C.删除
- D.根据元素查找
8. 能在O(1)时间内访问线性表的第i个元素的结构是( )。
- A.顺序表
- B.单链表
- C.单向循环链表
- D.双向链表
9. 在一棵二叉树上第3层上的结点数最多为( )。
- A.2
- B.4
- C.6
- D.8
10. 在完全二叉树中,如果一个结点是叶子结点,则它没有( )。
- A.左孩子结点
- B.右孩子结点
- C.左、右孩子结点
- D.左、右孩子结点和兄弟结点
11. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若pn是n,则Pi为( )。
- A.i
- B.n-i
- C.n-i+l
- D.不确定
12. 在一个链队列中,若f、r分别为队首、队尾指针,则插入p所指结点的操作为( )。
- A.f->link=p;f=p
- B.r->link=p;r=p
- C.p->link=r;r=p
- D.p->link=f;f=p
13. 假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为( )个。
- A.15
- B.16
- C.17
- D.47
14. 树最适合用来表示( )。
- A.有序数据元素
- B.元素之间具有分支层次关系的数据
- C.无序数据元素
- D.元素之间无联系的数据
15. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( )。
- A.edcba
- B.decba
- C.dceab
- D.abcde
16. 计算机算法必须具备输入、输出、( )等5个特性。
- A.可行性、可移植性和可扩展性
- B. 可行性、确定性和有穷性
- C.确定性、有穷性和稳定性
- D. 易读性、安全性和稳定性
17. 一个三元组表用于表示一个( )。
- A.线性表
- B.广义表
- C.稀疏矩阵
- D.双向链表
18. 深度为4的满二叉树有( )个结点。
- A.32
- B.15
- C.30
- D.31
19. 边数很多的稠密图,适宜用( )表示。
- A.邻接矩阵
- B.邻接表
- C.逆邻接表
- D.邻接多重表
20. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的( )和运算的学科。
- A.结构
- B.关系
- C.存储
- D.算法
21. 算法在发生非法操作时可以作出处理的特性称为( )。
- A.正确性
- B.易读性
- C.健壮性
- D.可靠性
22. 将一棵有100个结点的完全二叉树从上到下,从左到右依次进行编号,根结点的编号为1,则编号为25的结点的左孩子编号为( )。
- A.51
- B.99
- C.50
- D.没有右孩子
23. 设三个函数f,g,h分别为f(n)=100n³+n²+100,g(n)=25n³+4000n,h(n)=n¹.⁵+100nlog₂n,则以下关系式中错误的是( )。
- A.f(n)=O(g(n))
- B.g(n)=O(f(n))
- C.h(n)=O(n¹.⁵)
- D. h(n)=O(nlog₂n)
24. 一个队列的入队序列是1,2,3,4,则队列的输出序列是( )。
- A.4,3,2,1
- B.1,2,3,4
- C.1,4,3,2
- D.3,2,4,1
25. 线性表L在( )情况下适用于使用链式结构实现。
- A.需经常修改L中的结点值
- B.需不断对L进行删除、插入
- C.L中含有大量的结点
- D.L中结点结构复杂
26. 一个三元组表用于表示一个( )。
- A.线性表
- B.广义表
- C.双向链表
- D.稀疏矩阵
27. 深度为5的满二叉树有( )个分支结点。
- A.32
- B.15
- C.30
- D.31
28. 边数很多的稠密图,适宜用( )表示。
- A.邻接矩阵
- B.邻接表
- C.逆邻接表
- D.邻接多重表
29. 若从二叉树的任一结点出发到根的路径上所经过的结点序列按其关键字有序,则该二叉树是( )。
- A.二叉排序树
- B.二叉平衡树
- C.堆
- D.B树
30. 算法在发生非法操作时可以作出处理的特性称为( )。
- A.正确性
- B.易读性
- C.健壮性
- D.可靠性
31. 将一棵有100个结点的完全二叉树从上到下,从左到右依次进行编号,根结点的编号为1,则编号为49的结点的右孩子编号为( )。
- A.98
- B.99
- C.50
- D.没有右孩子
# 二、判断题(共30题)
1. 线性表的链式存储结构优于顺序存储结构。
对
错
2. 链表的每个结点都恰好包含一个指针域。
对
错
3. 顺序表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。
对
错
4. 在图的遍历中,广度优先搜索可以找到从起点到终点的最短路径。
对
错
5. 带权图最小生成树是唯一的。
对
错
6. 数据的逻辑结构和数据的存储结构是相同的。
对
错
7. 串是n个字母的有限序列(n≥0)。
对
错
8. 从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
对
错
9. 图可以没有边,但不能没有顶点。
对
错
10. 插入和删除操作是数据结构中最基本的两种操作,所以这两种操作在数组中也经常使用。
对
错
11. 在图的遍历中,深度优先搜索使用栈来存储待访问的节点。
对
错
12. 任何一个递归过程都可以转换成非递归过程。
对
错
13. 串中任意个字符组成的子序列称为该串的子串。
对
错
14. 数据结构的抽象操作的定义与具体实现有关。
对
错
15. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列1,3,5,4,2,6。
对
错
16. 数据的物理结构是指数据在计算机内的实际存储形式。
对
错
17. 在二叉搜索树中,左子树的所有节点的值都小于根节点的值。
对
错
18. 哈希表的平均查找时间复杂度为O(1)。
对
错
19. 快速排序算法的时间复杂度总是O(n²)。
对
错
20. 在图的深度优先搜索中,每个节点最多被访问一次。
对
错
21. 广度优先搜索算法使用队列来存储待访问的节点。
对
错
22. 二叉树的前序遍历顺序是先访问根节点,然后左子树,最后右子树。
对
错
23. 在堆排序中,父节点的值总是大于其子节点的值。
对
错
24. 动态规划算法通常用于解决具有重叠子问题和最优子结构的问题。
对
错
25. 图的邻接矩阵表示法的空间复杂度为O(V+E),其中V是顶点数,E是边数。
对
错
26. AVL树是一种自平衡二叉搜索树,其任意节点的两个子树的高度差最多为2。
对
错
27. 归并排序算法的时间复杂度为O(nlogn)。
对
错
28. 二分查找算法可以在无序数组中有效运行。
对
错
29. 在哈希表中,冲突可以通过链地址法解决。
对
错
30. 二叉树的后序遍历顺序是先访问左子树,然后右子树,最后根节点。
对
错
关闭
更多问卷
复制此问卷