当前位置:问答库>考研试题

2017年天津财经大学计算机应用技术复试实战预测五套卷

  摘要

一、简答题

1. 试述关系模型的概念,定义并解释以下术语:关系,属性,域,元组,码,分量,关系模式

【答案】(1)关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点中,关系模型中数据的逻辑结构是一张二维表,由行和列组成。

(2)术语的定义和解释:

①关系:一个关系对应通常所说的一张表。

②属性:表中的一列即为一个属性。

③域:属性的取值范围。

④元组:表中的一行即为一个元组。

⑤主码:表中的某个属性组,它可以惟一确定一个元组。

⑥分量:元组中的一个属性值。

⑦关系模式:对关系的描述,一般表示为关系名(属性1,属性2,... ,属性n )。

2. 请写出对一个文件按某个属性的排序算法(设该文件的记录是定长的),并上机实现。若要按多个属性排序,能否写出改进的算法?

【答案】(1)使用败者树实现多路归并的外部排序算法,对文件按某个属性进行排序。 参考代码:

是函数的类型,其值是函数结果状态代码,如OK 等

是布尔类型,其值是

一个用作示例的小顺序表的最大长度

第 2 页,共 25 页

设输出M 个数据换行

,全局变量

个文件指针(fp[k]为大文件指针)

败者树是完全二叉树且不含叶子,可采用顺序存储结构

从第i 个文件(第i 个归并段)读入该段当前第1个记录的关键字到外结点

将第i 个文件(第i 个归并段)中当前的记录写至输出归并段

指示新的胜者

第 3 页,共 25 页

为完全二叉树Is 的叶子结点,存有k 个关键字,沿从叶子

设置Is 中“败者”的初值

依次从

*利用败者树Is 将编号从0到k-1的k 个输入归并段中的记录归并到输出归并段。 *b[0]至b[k-l]为败者树上的k 个叶子结点,分别存放k 个输入归并段中当前记录的关键字。

分别从k 个输入归并段读人该段当前第一个记录的关键字到外结点

建败者树ls ,选得最小关键字为

指示当前最小关键字所在归并段

将编号为q 的归并段中当前(关键字为)的记录写至输出归并段

从编号为q

的输入归并段中读人下一个记录的关键字

调整败者树,选择新的最小关键字

将含最大关键字MAXKEY 的记录写至输出归并段

第 4 页,共 25 页

b[0]出发调整败者