好文档 - 专业文书写作范文服务资料分享网站

2017《数据结构》期末考试题与答案

天下 分享 时间: 加入收藏 我要投稿 点赞

四、 阅读算法(每题 7分,共 14 分)

1.

LinkList mynote(LinkList L)

{//L 是不带头结点的单链表的头指针 if(L&&L->next){

q=L ; L=L->next ;p=L;

S1 : while(p ->next) p=p ->next ; S2 : p ->next=q ;q->next=NULL;

}

return L ;

} 请回答下列问题:

(1) 说明语句 S1 的功能;

(2) 说明语句组S2的功能;

(3) 设链表表示的线性表为(ai,a2,…,an),写出算法执行后的返回值所 表示的线性表。

2.

{

void ABC(BTNode * BT)

if BT {

ABC (BT->left); ABC (BT->right); cout<data<<' '; }

}

该算法的功能是:

五、 算法填空(共 8 分) 二叉搜索树的查找——递归算法 : bool

Find(BTreeNode* BST,ElemType& item)

{

if (BST==NULL)

return false; // 查找失败 else {

if (item==BST->data){

item=BST->data;// 查找成功 return ;} else if(itemdata)

return Find( ________________ ,item); else return Find( ________________ ,item); }//if

}

六、 编写算法(共 8 X的结点数

int CountX(LNode* HL,ElemType x)

) 统计出单链表HL中结点的值等于给定值

分试题1答案

单选题(每题2分,共20 分)

1.

A 2.D 3.D 4.C 5.C 6.D 7.D 8.C 9.D 10.A

填空题(每空1分,共26 分)

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

正确性 易读性 强壮性 高效率

0( n) 9 3 3 -1

3 4 X * + 2 Y * 3 / -

n+1

2n n-1 e 2e

有向无回路

n(n-1)/2 n(n-1)

( 12,40) 增加1

O(log 2n) O(nlog 2n)

( ) ( 74) ( 23,55,63)

归并

运算题(每题6分,共24 分)

1.

线性表为: ( 78, 50, ,40, 60, 34,

90)

0 1 1 1

0 1 1 1 0

1 0 1 0

1 1 0 1

1 0 1 0

2.

邻接矩阵: 0 1 1 1

邻接表如图11所 示

图11

3.

用克鲁斯卡尔算法得到的最小生成树为:

(1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)20 4.

见图12

图12

阅读算法(每题7分,共14分)

( 1)查询链表的尾结点

(2) 将第一个结点链接到链表的尾部,作为新的尾结点 (3) 返回的线性表为(a2,a 3,…,an,aj

2.

四、

1.

递归地后序遍历链式存储的二叉树。

五、

true BST->left

BST->right

算法填空(每空2 分 ?,共8分)

六、

int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i while(p!=NULL)

{ if (P->data==x) i++; p=p->n ext; }//while, return i; }//Cou ntX

编写算法(8分)

为计数器

出循环时i中的值即为x结点个数

2017《数据结构》期末考试题与答案

四、阅读算法(每题7分,共14分)1.LinkListmynote(LinkListL){//L是不带头结点的单链表的头指针if(L&&L->next){q=L;L=L->next;p=L;S1:while(p->next)p=p->next;S2:p->next=q;
推荐度:
点击下载文档文档为doc格式
2n0ga6chld2nsft0iuth97tl37kv1k00rao
领取福利

微信扫码领取福利

微信扫码分享