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

2017年武汉工程大学计算机科学与工程学院835数据结构之数据结构考研题库

  摘要

一、填空题

1. 串是一种特殊的线性表,其特殊性表现在_____; 串的两种最基本的存储方式是_____、_____; 两个串相等的充分必要条件是_____。

【答案】其数据元素都是字符;顺序存储;链式存储;串的长度相等且两串中对应位置的字符也相等

2. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。 【答案】

【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,

所以

3. N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。

【答案】2(N-1)

【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。

4. 以下是用类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: t->Rchild!=null:t->Rchild: t->Lchild!=null: t->Lchild: p->Rchild=head:head->Lchild=p

5. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。 【答案】

6. VSAM (虚拟存储存取方法)文件的优点是:动态地_____,不需要文件进行_____,并能较快地_____进行查找。

【答案】分配和释放存储空间;重组;对插入的记录

7. 从平均时间性能而言,_____排序最佳。

【答案】快速

【解析】快速算法的平均时间复杂度为nlogn 。

8. 二叉树由_____,_____,_____三个基本单元组成。

【答案】根结点;左子树;右子树

9. 循环队列的引入,目的是为了克服_____。

【答案】假溢出时大量移动数据元素

【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。

10.如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,请在算法

,其空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag ,lcft ,data ,right ,rflag )

中:lflag=0,lcft 指向其左孩子,lflag=1,left 指向其前驱:rflag=0,right 指向其右孩子,rflag=1,right 指向其后继。

Prior (node , x )

{ if(node !=null)

If ( (1) ) *x=node->right;else * x-node->left;

}

next (bt , node, x )/*bt是二叉树的树根*/

{ (2) ;

if (node->rflag)(3);

else {do t=*x;;

while (*x==node );

*x=t;

}

}

【答案】nodc->rflag==O; *x=ht; *x=nodc->right; prior (t , X )

11.模式串

12.在一棵m

的个数是_____。 【答案】

【解析】m

树除根结点和叶子结点外,结点中关键字个数最多是最少 的next 函数值序列为_____。 【答案】01122312 树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是_____;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字

二、选择题

13.假定编译器规定int 和short 类型长度分别为32位和16位,执行下列C

语言语句

得到y 的机器数为( )。

【答案】B 。

【解析】X 和y 均为无符号数,其中X 为16位,y 为32位,将16位无符号数转化成32位

无符号数,前面要补零。因为所以

14.某计算机主存容量为64KB , 其中ROM 区为4KB , 其余为RAM 区,按字节编址。现要用2Kx8位的ROM 芯片和4Kx4位的RAM 芯片来设计该存储器,则需要上述规格的ROM 芯片数和RAM 芯片数分别是( )。

A.1、15

B.2、15

C.1、30

D.2、30

【答案】D

【解析】主存储器包括RAM 和ROM 两部分,由于ROM 区为4KB ,则RAM 区为60KB 。存储容量的扩展方法有字扩展、位扩展、字和位同时扩展三种。选用2Kx8位的ROM 芯片,只需

/4*2采用2片芯片进行字扩展便可得到4KB 的ROM 区;选用4Kx4位的RAM 芯片,需采用(60)

片芯片进行字和位同时扩展便可得60KB 的RAM 区。