一、选择题(每小题2分,共70分)
下列各题A)
、B) 、C)
、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是( )
。
A)循环队列是队列的一种链式存储结构 B)循环队列是队列的一种顺序存储结构
C)循环队列是非线性结构 D)循环队列是一种逻辑结构
【解析】队列的存储表示有两种:一种是基于数组的存储表示,另一种是基于链表的存储表示。队列的基于数组的存储表示亦称为顺序队列,它是利用一个一维数组作为队列元素的存储结构。为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列。因此循环队列是队列的一种顺序存储结构。
队列不管采用链式存储结构还是顺序存储结构,它都是线性结构。循环队列作为队列的特殊情况,它也是线性结构。
循环队列是在队列的基础上,将队列的头和尾接到一起形成一个环状,它给出了数据的逻辑结构在计算机内部的存储形式,因此是一种存储结构。
答案:B
(2)下列叙述中正确的是
A)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表
C)栈与队列都是非线性结构 D)以上三种说法都不对
【解析】栈是一种后进先出(Last In First Out)或先进后出(First In Last Out)的线性表,它的一端封闭(称为栈底),在另一端进行插入和删除操作,允许插入和删除的一端称为栈顶。
队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。显然,在队列这种数据结构中,最先插入的元素将最先能够被删除,最后插入的元素最后才能被删除。因此,队列又称为“先进先出”(First In First Out,FIFO)或“后进后出”(Last In Last Out,LILO)的线性表,它体现了“先来先服务”的原则。
栈与队列都是线性结构。
答案:D
(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为
A)16 B)10 C)6 D)4
【解析】设二叉树结点数为n,度为2的结点数为n2,度为1的结点数为n1,度为0(即叶子结点)的结点数为n0。则有n=n2+n1+n0。另外,在二叉树中,度为0的结点数是度为2的结点数加1,因此有n0=n2+1。此题中,n=25,n0=5,则n2=n0-1=5-1=4,因此n1=n-n2-n0=25-4-5=16。
答案:A
(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
A)外模式 B)内模式 C)概念模式 D)逻辑模式
答案:B
(5)在满足实体完整性约束的条件下
A)一个关系中应该有一个或多个候选关键字
B)一个关系中只能有一个候选关键字
C)一个关系中必须有多个候选关键字
D)一个关系中可以没有候选关键字
答案:A