数据结构天大离线答案.docx

上传人:b****6 文档编号:4858145 上传时间:2022-12-10 格式:DOCX 页数:12 大小:168.75KB
下载 相关 举报
数据结构天大离线答案.docx_第1页
第1页 / 共12页
数据结构天大离线答案.docx_第2页
第2页 / 共12页
数据结构天大离线答案.docx_第3页
第3页 / 共12页
数据结构天大离线答案.docx_第4页
第4页 / 共12页
数据结构天大离线答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据结构天大离线答案.docx

《数据结构天大离线答案.docx》由会员分享,可在线阅读,更多相关《数据结构天大离线答案.docx(12页珍藏版)》请在冰豆网上搜索。

数据结构天大离线答案.docx

数据结构天大离线答案

数据结构(天大6.25-26)

请在以下五组题目中任选一组作答,满分100分。

第一组:

一、编程题(每小题30分,共60分)

(一)

对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。

1.求数组所有边缘元素的数值和。

intsum1(intA[M][N],intm,intn)

{

2.求从A[0][0]开始的互不相邻的所有元素的和

注:

一个元素的八个方向上的第一个元素均为相邻元素。

intsum2(intA[M][N],intm,intn)

{

3.假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。

intsum3(intA[M][N],intn)

{

(二)

设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。

二、解答题(20分)

(一)

设有一个求解汉诺塔(Hanoi)的递归算法

voidHANOI(intn,intpeg1,intpeg2,intpeg3)

{

if(n==1)

printf(”move%dto%d\n”,peg1,peg3);

else

{

HANOI(n-1,peg1,peg3,peg2);

printf(”move%dto%d\n”,peg1,peg3);

HANOI(n-1,peg2,peg1,peg3);

}

}

假定采用HANOI(3,1,2,3)去调用上述算法,则写出整个输出结果的前四行内容。

三、画图题(20分)

(一)

某子系统在通信联络中只可能出现8种字符,其出现的概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编码

 

 

第二组:

一、编程题(每小题30分,共60分)

(一)

已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。

试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。

解:

注意此题给出的条件:

装载因子a〈1,则哈希表未填满。

由此可写出下列形式简明的算法:

voidPrintWord(HashTableht)

{//按第一个字母的顺序输出哈希表ht中的标识符。

哈希函数为表示符的第一个字母在字母表中的序号,处理冲突的方法是线性探测开放定址法。

for(i=1;i<=26;i++){

j=i;

While(ht.elem[j].key){

if(Hash(ht.elem[j].key==i)printf(ht.elem[j].key);

j=(j+1)%m;

}

}

}//PrintWord

(二)

用标准C语言实现Hanoi塔问题

#include

intcount=0;

voidmove(charx,intn,charz);

voidhanoi(intn,charx,chary,charz)

{

if(n==1)

move(x,1,z);

else

{

hanoi(n-1,x,z,y);

move(x,n,z);

hanoi(n-1,y,x,z);

}

}

voidmove(charx,intn,charz)

{

printf("%2i.Movedisk%ifrom%cto%c\n",++count,n,x,z);}

voidmain()

{

intn;

charx,y,z;

x='A';

y='B';

z='C';

scanf("%d",&n);

hanoi(n,x,y,z);

printf("\n");

}

二、解答题(20分)

(一)

设待排序记录的关键字序列为{46,55,13,42,94,05,17,70}写出其第一趟快速排序过程。

(要求写出每次交换后的序列,并且枢轴记录到位也算一次交换)

初始关键字:

4655134294051770

1次交换后:

2次交换后:

3次交换后:

4次交换后:

5次交换后:

三、画图题(20分)

(一)

将下面的森林变换成二叉树

 

第三组:

一、编程题(每小题30分,共60分)

(一)

1.设单链表中有仅三类字符的数据元素(大写字母、数字和其它字符),要求利用原单链表

中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。

解:

typedefchardatatype;

typedefstructnode{datatypedata;structnode*next;}lklist;

voidsplit(lklist*head,lklist*&ha,lklist*&hb,lklist*&hc)

{

lklist*p;ha=0,hb=0,hc=0;

for(p=head;p!

=0;p=head)

{

head=p->next;p->next=0;

if(p->data>='A'&&p->data<='Z'){p->next=ha;ha=p;}

elseif(p->data>='0'&&p->data<='9'){p->next=hb;hb=p;}else{p->next=hc;hc=p;}

}

}

或者:

2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。

 

(二)

1.设计在单链表中删除值相同的多余结点的算法。

 

2.设计一个求结点x在二叉树中的双亲结点算法。

 

二、解答题(20分)

(一)

对下面的带权无向图采用prim算法从顶点①开始构造最小生成树。

(写出加入生成树顶点集合S和选择Edge的顺序)

910

②7③

567

④⑤⑥

118

S:

顶点号

 

 

 

 

 

 

 

Edge:

 

(顶点,顶点,权值)

(,,)

(,,)

(,,)

(,,)

(,,)

1

三、画图题(20分)

(一)

已知一树的双亲表示法如下,其中各兄弟结点是依次出现的,画出该树对应的二叉树。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

data

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

parent

0

1

1

1

2

2

3

3

4

4

5

6

6

7

8

 

第四组:

一、编程题(每小题30分,共60分)

(一)

对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。

2.求数组所有边缘元素的数值和。

intsum1(intA[M][N],intm,intn)

{

2.求从A[0][0]开始的互不相邻的所有元素的和

注:

一个元素的八个方向上的第一个元素均为相邻元素。

intsum2(intA[M][N],intm,intn)

{

3.假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。

intsum3(intA[M][N],intn)

{

(二)

1.设有一组初始记录关键字序列(K1,K2,„,Kn),要求设计一个算法能够在O(n)的时间

复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。

 

2. 设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链

式存储结构表示。

二、解答题(20分)

(一)

写出下图所示的AOV网的可能拓扑序列,要求至少写出五个

 

三、画图题(20分)

(一)

将给定的图简化为最小的生成树,要求从顶点1出发。

 

第五组:

一、编程题(每小题30分,共60分)

(一)

用标准C语言实现Hanoi塔问题

(二)

1.设单链表中有仅三类字符的数据元素(大写字母、数字和其它字符),要求利用原单链表

中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。

2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。

 

二、解答题(20分)

(一)

已知一棵二叉树的先序序列是ABCDEFGHIJK,中序序列是CDBGFEAHJIK,请构造出该二叉树。

三、画图题(20分)

(一)

设有序顺序表中的元素依次为017,094,154,170,275,503,509,512,553,612,677,765,897,908。

试画出对其进行折半搜索时的判定树,并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。

要求:

1.独立完成,作答时要写明题型、题号;

2.作答方式:

手写作答或电脑录入,使用A4格式白纸;

3.提交方式:

以下两种方式任选其一,

1)手写作答的同学可以将作业以图片形式打包压缩上传;

2)提交电子文档的同学可以将作业以word文档格式上传;

4.上传文件命名为“中心-学号-姓名-科目.rar”或“中心-学号-姓名-科目.doc”;

5.文件容量大小:

不得超过20MB。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1