2017年天津财经大学计算机应用技术818计算机专业综合之数据结构考研强化模拟题
● 摘要
一、填空题
1. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。
【答案】满;空;n ; 栈底;两栈顶指针相邻(即值之差的绝对值为1)
2. 设有两个算法在同一机器上运行,其执行时闻分别为_____。
【答案】15
【解析】当时,而
,时,
3. —棵有个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端)结点和_____个叶子,该满二叉树的深度为_____。
【答案】
或
【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。
4. 当两个栈共享一存储区时,栈利用一维数组表示,两栈顶指针为当栈1空时
,
【答案】
为_____,栈2空时
,
为_____,栈满时为_____。
要使前者快于后者,n 至少为
则
【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。
5. 阅读下列程序,指出其功能,并写出空格处应填上的语句。
【答案】
【解析】本题是在哈希表ht[]中插入值为的元素,如该元素已在哈希表中,报告出错。
6. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。
【答案】
7. 从平均时间性能而言,_____排序最佳。
【答案】快速
【解析】快速算法的平均时间复杂度为nlogn 。
8. 以下是用类C 语言写山的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild 域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack , 栈顶head 为双向循坏链表的头指针。 指针为top , P , t 为辅助指针,试填充算法中的空格,使算法完整。
void leafchain(BiTree Abt)
{p={BiTree)malloc (sizeof (BiTNode )); If (!p ){print£(“OVERFLOW\n”; exit (1); }
head=p; top=0; if (bt )
{top++; stack[top]=bt; while (top )
{t=stack[top]; top--;
if (it->Lchild && !t->Rchild){ (1) ; (2) ; (3) ; } else {if( (4) ){top++; stack[top]= (5) ; } if ( (6) ){top++; stack[top]= (5) ; } } }
(8) ; (9) ; } } 【答案】
p->Rchild=t:t->Lchild=p:p=t: p->Rchild=head:head->Lchild=p
9. 设单链表的结点结构为
t->Rchild!=null:t->Rchild:
t->Lchild!=null:
t->Lchild:
为指针域,已知指针px 指向单链表中data 为x 的结
_____;点,指针py 指向data 为y 的新结点,若将结点y 插入结点x 之后,贝懦要执行以下语句:
_____;
【答案】
10.VSAM 系统是由_____、_____、_____构成的。
【答案】索引集;顺序集;数据集
二、选择题
11.栈和队的共同点是( )。
A. 都是先进后出 B. 都是后进先出
C. 只允许在端点处插入和删除元素 D. 没有共同点 【答案】C
【解析】栈和队列的区别是栈是先进后出的数据结构,队列是先进先出的数据结构,栈和队列的共同点是都只能在端点处插入和删除元素。
12.已知小根堆为8,15,10,21,34, 16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比较数是( )。
A.1 B.2 C.3 D.4
【答案】C
【解析】堆排序中,依次输出堆顶的最小值,然后重新调整堆,如此反复执行,便得到一个有序序列。本题中,删除堆顶元素8后将最后一个元素12置于堆顶,然后调整堆:首先与15比较,12小于15, 所以不用交换;然后与10比较,因为10小于12,所以交换10和12的位置;调 整后12再与16比较,12小于16,调整堆过程结束。因此12共与15、10、16进行了三次比较。
13.折半查找的时间复杂性为( )。
【答案】D
【解析】顺序查找的事件复杂度为度为
因为折半查找是查找效率最高的算法,它的事件复杂
14.某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微程序,各指令对应的微程序平均由4条微指令组成,采用断定法(下址字段法)确定下条微指令的地址,则微指令中下址字段的位数至少是:( )
A.5 B.6 C.8 D.9
【答案】C