A卷.docx

上传人:b****6 文档编号:7152623 上传时间:2023-01-21 格式:DOCX 页数:11 大小:95.78KB
下载 相关 举报
A卷.docx_第1页
第1页 / 共11页
A卷.docx_第2页
第2页 / 共11页
A卷.docx_第3页
第3页 / 共11页
A卷.docx_第4页
第4页 / 共11页
A卷.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

A卷.docx

《A卷.docx》由会员分享,可在线阅读,更多相关《A卷.docx(11页珍藏版)》请在冰豆网上搜索。

A卷.docx

A卷

2000年A卷

一、简答问题:

(每小题4分,共16分)

1.四类数据结构

集合,线性表,树,图

2.线性结构与非线性结构有何差别?

线性结构只有一个前驱和后继(非头结点和尾节点),非线性结构则可以有多个后继及多个前驱。

3.简述算法的定义与特性。

4.设有1000个无序元素,仅要求找出前10个最小元素,在下列排序方法中(归并排序、基数排序、快速排序、堆排序、插入排序)哪一种方法最好,为什么?

堆排序,其他排序需要将全部1000个数的顺序都确定下来,而堆排序则不需要。

二、判断正误:

(每小题1分,共5分)

正确在()内打√,否则打。

1.(F)二叉排序树或是一棵空树,或是具有下列性质的二叉树:

若它的左子树非空,则根结点的值大于其左孩子的值,

若它的右子树非空,则根结点的值大于其右孩子的值。

2.(T)索引顺序表的特点是块内可无序,块间要有序。

3.(T)子串是主串中任意个连续字符组成的序列。

4.(F)线性结构只能用顺序结构存放,非线性结构只能用链表存放。

5.()快速排序的枢轴元素可以任意选定。

T

三、单项选择题:

(每小题1分,共4分)

1.栈S最多能容纳4个元素。

现有6个元素按A、B、C、D、E、F的顺序进栈,问下列哪一个序列是可能的出栈序列?

C

A)E、D、C、B、A、FB)B、C、E、F、A、D

C)C、B、E、D、A、FD)A、D、F、E、B、C

2.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为:

A

A、98B、99C、50D、48

3.对下列关键字序列用快速排序法进行排序时,速度最快的情形是:

A

A){21、25、5、17、9、23、30}B){25、23、30、17、21、5、9}

B){21、9、17、30、25、23、5}D){5、9、17、21、23、25、30}

4.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。

与森林F对应的二叉树根结点的右子树上的结点个数是:

D

A)M1B)M1+M2C)M3D)M2+M3

四、填空题:

(每小题2分,共20分)

1.设一哈希表表长M为100,用除留余数法构造哈希函数,即H(K)=KMODP(P<=M),为使函数具有较好性能,P应选

2.N个结点的二叉树采用二叉链表存放,共有空链域个数为N+1

3.单链表与多重链表的区别是

4.在各种查找方法中,平均查找长度与结点个数无关的是哈希查找

5.深度为6(根层次为1)的二叉树至多有63个结点。

6.已知二维数组A[20][10]采用行序为主方式存储,每个元素占2个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的存储地址是1168

7.在一个单链表中p所指结点之后插入s所指结点时,应执行

s->next=p->next和p->next=s的操作.

8.广义表((a,b),c,d)的表头是(a,b),表尾是(c,d)

9.循环单链表LA中,指针P所指结点为表尾结点的条件是p->next=head

10.在一个待排序的序列中,只有很少量元素不在自己最终的正确位置上,但离他们的正确位置都不远,则使用直接插入排序方法最好。

五、构造题:

(每小题5分,共25分)

1.已知一棵二叉树,其中序序列DBCAFGE,后序序列DCBGFEA,构造该二叉树。

A

BE

DCF

G

2.设哈希表长度为11,哈希函数H(K)=(K的第一字母在字母表中的序号)MOD11,若输入顺序为(D,BA,TN,M,CI,I,K,X,TA),处理冲突方法为线性探测再散列或链地址法,要求构造哈希表,并求出等概率情况下查找成功平均查找长度。

线性探测再散列:

20/9;链地址法:

5/3

3.有一组关键字{50,52,85,22,96,17,36,55},请用快速排序,写出第一趟排序结果。

36,17,22,50,96,85,52,55

4.已知叶子结点值2,3,5,6,9,11,构造哈夫曼树,计算其带权路径长度。

36

1521

691110

55

23

87

5.画出8个结点的折半判定树。

六、算法设计题:

(每小题15分,共30分)

(仅要求给出子程序)

1.编写算法,判断带头结点的双向循环链表L是否对称。

(15分)

对称是指:

设各元素值a1,a2,...,an,则有ai=an-i+1,

即指:

a1=an,a2=an-1。

有节点a0

结点结构为:

prior

data

next

BoolJudge(node*head)

{

if(head==NULL||head->prior==NULL)

returntrue;

else

{

node*pt,*qt;

pt=head;qt=head->prior;

while(pt!

=qt&&pt->next!

=qt)

{

if(pt->data!

=qt->data)

returnfalse;

else

{

pt=pt->next;

qt=qt->prior;

}

}

returntrue;

}

}

2.二叉排序树T用二叉链表表示,其中各元素均不相同。

(1)写出递归算法,按递减顺序打印各元素的值。

(10分)

(2)写出完成上述要求的非递归算法。

(5分)

voidPrint(node*pt)

{

if(pt==NULL)

return;

else

{

Print(pt->RChild);

cout<data<<“”;

Print(pt->LChild);

}

}

《数据结构》试卷参考答案与评分标准

(2000级)

 

一、简答问题:

(每小题4分,共16分)

1.             集合结构、线性结构、树形结构、网状结构

2.             线性结构的前驱与后继之间为一对一关系,非线性结构的前驱与后继之间通常为一对多或多对多关系。

3.             解决特定问题的有限指令序列。

有限性、确定性、可行性、有0个或多个输入数据、有1个或多个输出结果。

4.             堆排序。

因为一趟堆排序排定一个元素,只需进行前10趟堆排序就可以了。

其它排序方法均需进行完全排序。

二、判断正误:

(每小题1分,共5分)

正确在( )内打√,否则打。

1.() 2.(√) 3.(√) 4.() 5.(√)

三、单项选择题:

(每小题1分,共4分)

1.C)    2.A)    3. A)    4. D)

四、填空题:

(每小题2分,共20分)

1. 97    2. n+1    3.链域数目不同   

4.哈希查找法    5.26–1   6.1168 

7.p->next 、  s      8.(a,b) 、 (c,d)

9.P->next==LA    10.直接插入

五、构造题:

(每小题5分,共25分)

1.            

 

2.             

0

1

2

3

4

5

6

7

8

9

10

K

TA

BA

M

D

CI

X

 

 

TN

I

ASL=20/9

 

0

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

 

 

 

 

 

 

 

ASL=15/9

3.             

{36,17,22,50,96,85,52,55}

4.            

WPL=11×2+6×2+9×2+5×3+2×4+3×4

    =87

[注]:

哈夫曼树的左右子树可以互换。

5.             

[注]:

如果求中点时采用向上取整,则二叉树的形态为左子树偏长。

 

六、算法设计题:

(每小题15分,共30分)

  (仅要求给出子程序)

1.[解答]:

intjudge(DLinkListL){

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

while(p!

=q)

 {if(p->data!

=q->data)return0;

if(p->next==q)return1;

p=p->next;

q=q->prior;

 }

return1;

}

[注]:

可以不用返回值,而用打印信息。

2.            [解答]:

(1)

voidprint_1(BiTreeT){

if(T!

=NULL)

 {print_1(T->RChild);

  printf(“%c”,T->data);

  print_1(T->LChild);

 }

}

(2)

void Print_2(BiTreeT)

{InitStack(&S);

p=T;

while(p!

=NULL||!

IsEmpty(S))

{while(p!

=NULL)     

 {Push(&S, p);

p=p->RChild;

   }

if(!

IsEmpty(S)) 

{Pop(&S, &p);  

printf(“%c”, p->data);    

p=p->LChild;     

        }

}

}

2000年B卷

一、简答问题:

(每小题4分,共16分)

1.四类基本数据结构的含义和特点。

2.简述栈和队列的共同点和不同点。

它们与线性表有什么关系?

3.举例说明什么是抽象数据类型。

4.算法的定义和特性。

二、判断正误:

(每小题1分,共5分)

正确在()内打√,否则打。

(T)

(1)由树的中序表示和前序表示可以导出树的后序表示。

(T)

(2)将一棵树转换为二叉树表示后,该二叉树的根结点没有右子树。

(T)(3)采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的前序遍历结果是一样的。

(F)(4)在Huffman树中,权值较大的叶子结点离根较远。

(F)(5)用一维数组存储二叉树时,是以先根遍历的次序存储结点。

三、单项选择题:

(每小题1分,共4分)

1.对线性表,在下列哪种情况下应当采用链表表示?

B

A)经常需要随机地存取元素B)经常需要进行插入和删除操作

C)表中元素需要占据一片连续的存储空间D)表中元素的个数不变

2.在待排序文件已基本有序的前提下,下述排序方法中效率最高的是:

A

A)直接插入排序B)简单选择排序C)快速排序D)归并排序

3.设有关键码序列(Q,G,M,Z,A,N,P,X,H),下面哪一个序列是从上述序列出发建堆的结果?

B

A)A,G,H,M,N,P,Q,X,Z  B)A,G,M,H,Q,N,P,X,Z

C)G,M,Q,A,N,P,X,H,Z D)H,G,M,P,A,N,Q,X,Z

4.以下哪一个术语与数据的存储结构无关?

C

A)栈B)散列表C)穿线树D)双链表

四、填空题:

(每小题2分,共20分)

1.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成5个不同的字符串。

2.设仅包含根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为

3.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找关键码值12,所需的关键码比较次数为:

4。

4.快速排序的最坏情况,其待排序的初始排列是顺序排列或逆序排列.

5.二叉树的先序遍历序列为:

EFHIGJK,中序遍历序列为:

HFIEJKG,则该二叉树根的右子树的根是:

G。

6.顺序表(即顺序存储结构的线性表)中插入一个元素,

平均需要移动(n+1)/2个元素.

7.二维数组A[0..20][0..10]采用行序为主方式存储,每个元素占4个存储单元,并且A[0][0]的存储地址是1016,则A[9][8]的存储地址是1408

8.循环单链表La中,指针P所指结点为表尾结点的条件是p->next=La

9.N个结点的二叉树,采用二叉链表存放,空链域的个数为n+1.

10.要在一个单链表中p所指结点之后插入s所指结点时,

应执行和的操作.

五、构造题:

(每小题5分,共25分)

1.对以下关键字序列建立哈希表:

(SUN,MON,TUE,WED,THU,FRI,SAT),哈希函数为H(K)=(K中最后一个字母在字母表中的序号)MOD7。

用线性探测法处理冲突,要求构造一个装填因子为0.7的哈希表,并分别计算出在等概率情况下查找成功与不成功的平均查找长度。

2.已知一棵树如图所示,请将该树转化为二叉树。

 

3.给定权值{8,12,4,5,26,16,9},构造一棵带权路径长度最短的二叉树,并计算基带权路径长度。

4.已知关键码序列为{2,8,31,20,19,18,53,27},试画出逐个插入这8个关键码后的二叉排序树。

5.设有关键码序列(Q,G,M,Z,A,N,P,X,H),将其筛选为一个堆序列。

六、算法设计题:

(每小题15分,共30分)

(仅要求给出子程序)

1.假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。

已知s为指向链表某个结点的指针,试编写算法在链表中删除指针s所指结点的前趋结点。

(15分)

2.编写算法,对n个关键字取整数值的记录序列进行整理,以使所有关键字为负值的记录排在关键字为非负值的记录之前。

要求:

采取顺序存储结构,至多使用一个记录的辅助存储空间,算法的时间复杂度为O(n)。

(15分)

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

当前位置:首页 > 表格模板 > 合同协议

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

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