本章内容、图片较多,为全书重点!
本章涉及到数据库、算法与数据结构——线性表、栈、队列、树与二叉树等相关知识。
由于篇幅较多,笔记见上一章。
由于篇幅较多,“计算机的世界-课外拓展”栏目在本章停止。

第六章

软件开发基础

课后习题

一、选择题

1.存储在计算机内按一定的结构和规则组织起来的相关数据的集合称为( C )。
A. 数据库管理系统
B. 数据库系统
C. 数据库
D. 数据结构
2.数据管理技术的发展过程经历了人工管理阶段、文件系统阶段和数据库系统阶段,其中数据独立性最高的阶段是( A )。
A. 数据库系统
B. 文件系统
C. 人工管理
D. 数据项管理
3.数据库系统的核心是( B )。
A. 数据库
B. 数据库管理系统
C. 数据模型
D. 软件工具
4.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是( B )。
A. DBMS包括DB和DBS
B. DBS包括DB和DBMS
C. DB包括DBS和DBMS
D. 三者无区别
5.用树形结构来表示实体之间联系的模型称为( B )。
A. 关系模型
B. 层次模型
C. 网状模型
D. 数据模型
6.关系数据库管理系统能实现的专门关系运算是指( C )。
A. 并、交、差
B. 筛选、排序、索引
C. 选择、投影、连接
D. 显示、打印、制表
7.关系中的每一行数据称为一个( A )。
A. 元组
B. 字段
C. 属性
D. 码
8.在关系数据库中,用来表示实体之间联系的是( D )。
A. 树结构
B. 网结构
C. 线性表
D. 二维表
9.将E-R图转换到关系模式时,实体与联系都可以表示成( B )。
A. 属性
B. 关系
C. 键
D. 域
10.从关系中挑选出指定的属性组成新关系的运算称为( B )。
A. 选择运算
B. 投影运算
C. 并运算
D. 连接运算
11.将E-R图转换到关系模型的过程,属于数据库的( C )。
A. 需求分析
B. 概念设计
C. 逻辑设计
D. 物理设计
12.数据库中存储的是( D )。
A. 数据
B. 数据模型
C. 数据之间的联系
D. 数据以及数据之间的联系
13.数据库应用系统中的核心问题是( A )。
A. 数据库设计
B. 数据库系统设计
C. 数据库维护
D. 数据库管理员培训
14.有两个关系R、S如下:
alt text
由关系R通过运算得到关系S,则所使用的运算为( B )。
A. 选择
B. 投影
C. 插入
D. 连接
15.设有如下关系表:
alt text
则下列操作中正确的是( B )。
A. T=R∩S
B. T=R∪S
C. T=R×S
D. T=R/S
16.Access 2010创建的数据库文件扩展名为( C )。
A. dbf
B. mdb
C. accdb
D. IbI
17.Access 2010数据库是( C )。
A. 层状数据库
B. 网状数据库
C. 关系型数据库
D. 树状数据库
18.Access 2010数据库中用于记录基本数据的是( A )。
A. 表
B. 查询
C. 窗体
D. 宏
19.在Access 2010中,将“名单表”中的“姓名”与“工资标准表”中的“姓名”建立关系,且两个表中的记录都是唯一的,则这两个表之间的关系是( A )。
A. 一对一
B. 一对多
C. 多对一
D. 多对多
20.Access 2010中表和数据库的关系是( A )。
A. 一个数据库可以包含多个表
B. 一个表只能包含两个数据库
C. 一个表可以包含多个数据库
D. 一个数据库只能包含一个表
21.下面对数据表的叙述有错误的是( C )。
A. 数据表是Access 2010数据库中的重要对象之一
B. 表的设计视图的主要工作是设计表的结构
C. 表的数据视图只用于显示数据
D. 可以将其他数据库的表导入当前数据库中
22.要定义表结构需要定义( A )。
A. 数据库、字段名、字段类型
B. 数据库、字段类型、字段长度
C. 字段名、字段类型、字段长度
D. 数据库名、字段类型、字段长度
23.在Access 2010中,无法把数据表字段的数据类型指定为( A )。
A. 图像
B. 备注
C. 数字
D. 文本
24.将表中的字段定义为( B ),其作用是确保表中的每一个记录是唯一的。
A. 索引
B. 主键
C. 必填字段
D. 有效性规则
25.建立Access 2010数据库时要创建一系列的对象,其中最重要的是创建( B )。
A. 报表
B. 表
C. 表之间的关系
D. 查询
26.修改数据表字段的数据类型与属性,必须在( A )下进行。
A. 设计视图
B. 数据表视图
C. 数据透视表视图
D. 数据透视图视图
27.若在两个表之间的关系连线上标记了1:1或1:∞,表示启动了( A )。
A. 实施参照完整性
B. 级联更新相关记录
C. 级联删除相关记录
D. 不需要启动任何设置
28.下列不属于查询的3种视图的是( B )。
A. 设计视图
B. 模板视图
C. 数据表视图
D. SQL视图
29.把根据用户输入值来构造查询条件的查询称为( C )。
A. 可视化查询
B. 对话查询
C. 参数查询
D. 自定义查询
30.在“成绩”表中要查找70≤考试成绩≤80的学生,正确的条件表达式是( A )。
A. 考试成绩Between 70 And 80
B. 考试成绩Between 70 To 80
C. 考试成绩Between 69 And 81
D. 考试成绩Between 69 To 81
31.算法的空间复杂度是指( D )。
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
32.下列叙述中正确的是( A )。
A. 线性表是线性结构
B. 栈与队列是非线性结构
C. 线性链表是非线性结构
D. 二叉树是线性结构
33.数据的存储结构是指( B )。
A. 数据所占的存储空间量
B. 数据的逻辑结构在计算机中的表示
C. 数据在计算机中的顺序存储方式
D. 存储在外存中的数据
34.线性表是( A )。
A. 一个有限序列,可以为空
B. 一个有限序列,不能为空
C. 一个无限序列,可以为空
D. 一个无序序列,不能为空
35.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( A )个元素,
A. n/2
B. n+1/2
C. n-1/2
D. n
36.下列关于队列的叙述中正确的是( C )。
A. 在队列中只能插入数据
B. 在队列中只能删除数据
C. 队列是先进先出的线性表
D. 队列是先进后出的线性表
37.下列关于栈的叙述中正确的是( D )。
A. 在栈中只能插入数据
B. 在栈中只能删除数据
C. 栈是先进先出的线性表
D. 栈是先进后出的线性表
38.在深度为5的满二叉树中,叶子节点的个数为( C )。
A. 32
B. 31
C. 16
D. 15
39.长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( B )。
A. n+1
B. n
C. (n+1)/2
D. n/2
40.设树T的度为4,其中度为1,2,3,4的节点个数分别为4,2,1,1。则T中的叶子节点数为( A )。
A. 8
B. 7
C. 6
D. 5

二、填空题

1.一个项目只有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于( 一对多 )的联系。
2.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为( 物理独立性 )。
3.数据库系统中实现各种数据管理功能的核心软件称为( 数据库管理系统DBMS )。
4.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、( 参照完整性 )和自定义完整性。
5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个( 关系 )。
6.从关系中挑选满足条件的元组组成新关系的运算称为( 选择 )。
7.在E-R图中,矩形表示( 实体 )。
8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( 逻辑 )设计阶段。
9.在E-R图中,图形包括矩形框、菱形框、椭圆框,其中表示实体联系的是( 矩形 )框。
10.关系数据库逻辑设计阶段的任务是将总体E-R模型转换成( 关系模型 )。
11.线性表、栈和队列都是( 线性 )结构,可以在线性表的( 任意 )位置插入和删除元素,对于栈只能在( 栈顶 )位置插入和删除元素,对于队列只能在( 队尾 )位置插入和( 队首 )位置删除元素。
12.在长度为n的有序线性表中进行二分查找,需要的比较次数为( log_2⁡n )。
13.设一棵完全二叉树共有700个节点,则在该二叉树中有( 350 )个叶子节点。
14.设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后续遍历结果为( DEBFCA )。
15.在最坏情况下,冒泡排序的时间复杂度为( O(n^2) )。

三、简答题

1.设有一个关系如下表所示:
alt text
(1)如果要对它进行投影运算,选取“学号”、“姓名”、“高等数学”和“大学英语”这四个属性,请给出投影运算后产生的新表;
答:alt text
(2)如果要对它进行选择运算,选择“计算机基础”大于等于80以上的元组,请给出选择运算后产生的新表;
答:
alt text
(3)如果要选取“计算机基础”不及格的同学的班级、学号和姓名,请给出运算后产生的新表。
答:
alt text
2.栈和队列各有什么特点?什么情况下用到栈?什么情况下用到队列?
答:栈是“先进后出”结构,队列是“先进先出”结构。

(1)栈的应用:CPU内部用于函数调用和返回。在计算机中数据的保存满足“先进后出”,都优先使用栈。
(2)队列的应用:主要用于和时间有关的地方。在操作系统中,队列是实现多任务的重要机制。


3.设有编号为1,2,3,4的四辆车,顺序进入一个栈式结构的站台,试写出这四辆车开出车站的所有可能的顺序(每辆车可能入站,可能不入站,时间也可能不等)。
答:一共14种情况。

全进之后再出:4321。
列车3辆进站后出站:3421、3241、3214。
列车2辆进站后出站:2431、2314、2341、2134、2143。
列车1辆进站后出站:1432、1324、1342、1234、1243。


4.试分别画出具有3个节点的树和3个节点的二叉树的所有不同形态。
答:
alt text
5.深度为h的完全二叉树至少有多少个节点?至多有多少个节点?
答:至少有2^(h-1)个节点,至多有2^h-1个节点。
6.试找出分别满足下面条件的所有二叉树。
(1)前序序列和中序序列相同;
答:情况一,空树;情况二,只有一个节点的树;情况三,每个节点只有右子树。
(2)中序序列和后序序列相同;
答:情况一,空树;情况二,只有一个节点的树;情况三,每个节点只有左子树。
(3)前序序列和后序序列相同;
答:情况一,空树;情况二,只有一个节点的树。
(4)前序、中序、后序序列均相同。
答:情况一,空树;情况二,只有一个节点的树。
7.若二叉树中各节点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列的中序列均能唯一地确定一棵二叉树,但由前序序列和后序序列却不一定能唯一地确定一棵二叉树。
(1)已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF,请画出此二叉树;
答:
alt text
(2)已知一棵二叉树的中序序列和后序序列分别为BDCEAFHG和DECBHGFA,请画出此二叉树;
答:
alt text
(3)已知两棵二叉树前序序列和后序序列均为AB和BA,请画出这两棵不同的二叉树。
答:
alt text

2023年12月30日-31日 P323-327

教材信息
书名:大学计算机基础教程(第3版)
主编:杜友福
副主编:李新玉,胡必鑫
出版社:北京邮电大学出版社