《数据结构》期中测试-2014级计算机网络技术用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》期中测试-2014级计算机网络技术用

1-11每小题3分,共33分

1.下面关于线性表的叙述中,错误的是哪一个?()

A.线性表采用顺序存储,必须占用一片连续的存储单元

B.线性表采用顺序存储,便于进行插入和删除操作

C.线性表采用链式存储,不必占用一片连续的存储单元

D.线性表采用链式存储,便于插入和删除操作

2.线性表的以下存储结构中,已知结点存储地址,求其前驱复杂度最高的的存储结构是()

A.顺序表

B.双向链表

C.单链表

D.双向循环链表

3.设指针变量p指向单链表中的某结点,q指向其后继节点,s指向一个新开辟的结点,能将s 所指结点插入到p所指结点后面的操作为( )

A.s=p->next; q=s->next;

B.s->next=p->next; p->next=s;

C.q->next=s; s->next=p;

D.p->next=s->next; s->next=q;

4.设入栈序列为ABCD,则以下序列中不可能是出栈序列的为()

A.ABCD

B.DCBA

C.BDAC

D.BACD

5.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是()

A.栈

B.队列

C.树

D.图

6.对于最大容量为n的循环队列Q,队尾指针是Q.rear,队头是Q.front,则队空的条件是()

A.(Q.rear+1) % n=Q.front

B.Q.rear=Q.front

C.Q.rear+1=Q.front

D.(Q.rear-1) % n=Q.front

7.深度为K的完全二叉树至少具有的顶点个数为()

A.2K-1

B.2 K-1

C.2K+1

D.2 K-1+1

8.将树转换为对应的二叉树,若在二叉树中结点u是v的父结点,则在原来的树中,u和v 可能具有的关系是()

A.只能是兄弟关系

B.只能是父子关系

C.u既可能是v的兄弟,也可能是v的父结点

D.v既可能是u的兄弟,也可能是u的父结点

9.一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()

A.9

B.11

C.15

D.不确定

10.有n(n > 1)个叶子的Huffman树,其结点总数为()

A.不确定

B.2n

C.2n+1

D.2n-1

11.n个结点的线索二叉树上含有的线索数为()

A.2n

B.n-l

C.n+l

D.n

12-18每小题2分,共14分

12.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。

A. 正确

B.错误

13.单链表中引入头结点有利于简化结点插入以及删除操作的实现。

A. 正确

B.错误

14.双循环链表中,任一个结点的前驱指针都不为空。

A. 正确

B.错误

15.栈采用顺序存储结构,执行入栈操作时会引起大量元素的移动。

A. 正确

B.错误

16.二叉树的先序遍历序列与后序遍历序列不可能相同。

A. 正确

B.错误

17.树的先根序遍历序列等同于它所对应二叉树的先序遍历序列。

A. 正确

B.错误

18.二叉树可以用二叉链表存储,树与森林无法用二叉链表存储。

A. 正确

B.错误

以下每小问分值,在题后标出

19.已知一棵二叉树先序序列为ABDEFCGHI,中序序列为DBFEAGHCI

(1)试画出该二叉树;----------------6分

(2)试画出该二叉树对应的树或者森林;------------6分

答案:(1)

(2)对应的森林为:

20.已知字符A-F 的出现频率依次为2,3,5,6,11,9,

(1) 给出上述字符最优编码对应的Huffman 树,并在叶子旁标注相应字符;------------8分

(2)计算上述Huffman 树的带权路径长度。------------3分

(2)带权路径长度为:87

21.二叉树采用二叉链表存储结构,试写出一递归算法计算二叉树的深度。

(1)写出二叉链表的类型定义,数据域要求为整型------------5分

(2)写出完成问题的算法------------------------------------10分

参考答案:

(1)typedef struct BiTNode {

int data;

struct BiTNode *lchild,*rchild;

} BiTNode, * BiTree;

A

B C D F E

(2)算法描述:

int TreeDepth(BiTree T){

int d,d1,d2;

if(T==NULL)d=0;

else

{ d1=TreeDepth(T->lchild);

d2=TreeDepth(T->rchild);

d=d1>=d2?d1+1:d2+1;

}

return d;

}

22.设L为一个带头节点的单链表L,表中各个元素取值均不相同,设计算法将表中元素值最小的结点删除

(1)写出单链表的类型定义,数据域要求为整型------------5分

(2)写出完成问题的算法-----------10分

参考答案:

(1)typedef struct LNode {

int data;

struct LNode *next;

} LNode, * LinkList;

(2)算法描述:

void DelMin(LinkList L){

LNode *p=L->next, *prep=L;

LNode *p_min=L->next; prep_min=L;

while(p!=NULL){

if(p->datadata){

p_min=p; prep_min=prep;

}

}

if(p_min!=NULL) prep_min->next=p_min->next;

相关文档
最新文档