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

2017年北方民族大学软件工程832C语言程序设计与数据结构之数据结构考研题库

  摘要

目录

2017年北方民族大学软件工程832C 语言程序设计与数据结构之数据结构考研题库(一) . .... 2 2017年北方民族大学软件工程832C 语言程序设计与数据结构之数据结构考研题库(二) . .. 11 2017年北方民族大学软件工程832C 语言程序设计与数据结构之数据结构考研题库(三) . .. 18 2017年北方民族大学软件工程832C 语言程序设计与数据结构之数据结构考研题库(四) . .. 26 2017年北方民族大学软件工程832C 语言程序设计与数据结构之数据结构考研题库(五) . .. 36

第 1 页,共 43 页

一、填空题

1. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树 【解析】二叉排序树

或者是一棵空树,或者是具有下列性质的二叉树:①若它

的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

2. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)

【答案】93

【解析】对于上三角矩阵,将代入得93。

3. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。

第 2 页,共 43 页

在B

【答案】

【解析】快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

4. 文件可按其记录的类型不同而分成两类,即_____和_____文件。

【答案】操作系统文件;数据库

5. 无用单元是指_____,例_____

【答案】用户不再使用而系统没有回收的结构和变量;

6. 在一棵m

阶的个数是_____。

【答案】

【解析】m

阶树除根结点和叶子结点外,结点中关键字个数最多是最少

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

【答案】

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

所以

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) ; }

第 3 页,共 43 页

树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的

关键字的个数是_____;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字

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

9. 起始地址为480,大小为8的块,其伙伴块的起始地址是_____;若块大小为32,则其伙伴块的起始地址为_____。

【答案】

【解析】起始地址为P ,大小为的内存块,其伙伴块的起始地址计算公式如下:

根据上述公式起始地址就为488。 10.深度为H 的完全二叉树至少有_____个结点; 至多有_____个结点; H 和结点总数N 之间的关系是_____。

【答案】

二、判断题

11.AOE 网一定是有向无环图。( )

【答案】×

【解析】在带权的有向图中,以顶点表示事件,有向边表示活动,边上的权值表示完成该活动的开销,则称 这种有向图表示活动的网络,简称为AOE 网。因此对AOE 网是否是有向无环图没有要求。

12.平衡二叉树中,若某个结点的左、右孩子的平衡因子为零,则该结点的平衡因子一定是零。( )

【答案】×

【解析】平衡因子定义为该结点的左子树的深度减去右子树的深度,一个平衡二叉树中,某节点的左右孩子的平衡因子为0,说明左孩子的左子树和右子数的深度相同,而且右子树的左子树和右子数的深度相同,但这不能说明该节点的左子树和右子树的深度相同。

13.采用线性探测法处理散列时的冲突,当从哈希表删除一个记录时,不应将这个记录的所在位置置空,因为这会影响以后的查找。( )

【答案】√

【解析】从哈希表删除一个记录,不是将这个记录的位置置空,而是设置一个标记,标记这

第 4 页,共 43 页