级使用《数据结构》测试题Word下载.docx

上传人:b****5 文档编号:21341839 上传时间:2023-01-29 格式:DOCX 页数:25 大小:109.52KB
下载 相关 举报
级使用《数据结构》测试题Word下载.docx_第1页
第1页 / 共25页
级使用《数据结构》测试题Word下载.docx_第2页
第2页 / 共25页
级使用《数据结构》测试题Word下载.docx_第3页
第3页 / 共25页
级使用《数据结构》测试题Word下载.docx_第4页
第4页 / 共25页
级使用《数据结构》测试题Word下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

级使用《数据结构》测试题Word下载.docx

《级使用《数据结构》测试题Word下载.docx》由会员分享,可在线阅读,更多相关《级使用《数据结构》测试题Word下载.docx(25页珍藏版)》请在冰豆网上搜索。

级使用《数据结构》测试题Word下载.docx

7.与中缀表达式a+b*c-d等价的前缀表达式是____。

A.+a-*bcdB.*+-abcdC.-+a*bcdD.abcd+*-

8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次与表中元素____进行比较,。

A.65,15,37B.68,30,37C.65,15,30D.65,15,30,37

9.对长度为10的表作选择(简单选择)排序,共需比较____次关键字。

A.45B.90C.55D.110

10.对n个元素的表作快速排序,在最坏情况下,算法的时间复杂度为____。

A.O(log2n)B.O(nlog2n)C.O(n2)D.O(2n)

11.对长度为10的表作2_路归并排序,共需移动____次(个)记录。

A.20B.45C.40D.30

二、填空(每空1分,共11分)

1.一个数据结构在计算机中的表示(映象)称为________________。

2.线性表中____________________________称为表的长度。

3.栈中元素的进出原则为_____________________。

4.设数组A[1..10,1..8]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素A[4,5]的存储地址为_____;

若以列序为主序顺序存储,则元素A[4,5]的存储地址为______。

5.一棵深度为6的满二叉树有______个非终端结点。

6.若一棵二叉树中有8个度为2的结点,则它有_____个叶子。

7.顺序查找n个元素的顺序表,当使用监视哨时,若查找成功,比较关键字的次数至少为____次,最多为____次;

若查找失败,比较关键字的次数为____次。

8.对长度为400的表采用分块(区)查找,最理想的块长为____。

三、回答下列问题(每小题5分,共10分)

1.线性表的存储结构,在什么情况下采用顺序结构?

为什么?

2.二叉树有哪几种基本形态?

画图说明之。

四、试画出下列存储结构图(每小题4分,共20分)

1.数组A[1..2,0..2]的以列序为主序的顺序存储结构。

2.依次将元素A,C,D,B插入一个初始状态为空的链式栈中,试画出所有插入完成之后的链式栈。

3.二叉树的顺序存储结构:

 

4.图的邻接矩阵:

5.有向图的逆邻接表:

五、求解下列问题(每小题6分,共24分)

1.给定30个字符组成的电文:

DDDDDAAABEEAAFCDAACABBCCCBAADD

试为字符A、B、C、D、E、F设计哈夫曼(Huffman)编码。

(1)画出相应的哈夫曼树;

(2)分别列出A、B、C、D、E、F的哈夫曼码;

(3)计算该树的带权路径长度WPL。

2.试按表(10,8,9,12,20,5,6,15,19,25)中元素的排列次序,将所有元素插入一棵初始为空的二叉排序树中,使之仍是一棵二叉排序树。

(1)试画出插入完成之后的二叉排序树;

(2)若查找元素17,它将依次与二叉排序树中哪些元素比较大小?

(3)假设每个元素的查找概率相等,试计算该树的平均查找长度ASL。

(4)对该树进行中序遍历,试写出中序遍历序列。

3.试将森林F={T1,T2,T3,T4}转换为一棵二叉树。

T1T2T3T4

4.找出下面网络的最小生成树。

六、填空题(在算法中有下划线____的位置填空,使之成为完整、正确的算法)

算法说明:

已知r[1..n]是n个记录的递增有序表,用折半查找法查找关键字为k的记录,若查找失败,则输出”Failure”,返回零;

否则输出”Success”,并返回该记录的序号值。

(共8分)

算法(C函数):

intbin_search(structarecordr[],intn,k:

keytype)

/*r[1..n]为n个记录的递增有序表,k为关键字*/

{intlow,mid,hig;

low=1;

hig=n;

/*各变量初始化*/

while(_____)

{mid=___________________;

if(k<

r[mid].key)____________________;

elseif(k==r[mid].key)

{_____________________;

_____________________;

}

else_____________________;

__________________;

__________________;

七、算法设计(算法中必须有注释,每小题8分,共16分)

1.设n个元素的线性表顺序存储在一维数组st[1..maxlen]的前n个位置上,试将新元素e插入表中第i-1个和第i个元素之间,写出算法。

2.设Head为带表头结点的单链表的头指针,试写出算法:

若为非空表,则输出首结点和尾结点的值(data值);

否则输出:

”Emptylist!

”。

《数据结构》试题(模二)

1.数据的基本单位是____。

A.结点B.数据元素C.数据类型D.数据项

2.下列算法suanfa1中语句"

x=x*2;

"

的执行次数是____。

voidsuanfa1(intn)

{inti,j,x=1;

for(i=1;

i<

=n;

i++)

for(j=i;

j<

j++)

printf("

%d"

x);

A.n(n-1)/2B.n(n+1)/2C.n2D.nlog2n

3.当需要随机查找线性表的元素时,宜采用____作存储结构。

A.双向链表B.循环链表C.顺序表D.单链表

4.若8行6列的数组以行序为主序顺序存储,基地址为2000,每个元素占2个存储单元,则第5行第3列的元素(假定无第0行第0列)的地址是____。

A.2086B.2032C.2068D.答案A,B,C都不对

5.广义表(a,(b),c,(d,(e)))的表尾是____。

A.(d,(e))B.(d,(e)))C.(b),c,(d,(e))D.((b),c,(d,(e)))

6.____是"

Yu**Jia**Shan"

的子串。

A.YuB."

jia"

C."

**Shan"

D."

YuJiaShan"

7.无向完全图的邻接矩阵是____矩阵。

A.对称B.上三角C.下三角D.稀疏

8.有n(n>

A.log2(n)+1B.log2(n)-1C.log2(n)-1D.log2(n)+1

9.与中缀表达式a-b/c+d等价的前缀表达式是____。

A.-a+/bcdB./-+bcdC.+-/bcdD.abcd-/+

10.对有3600个记录的索引顺序表(分块表)进行查找,最理想的块长为____。

A.1800B.60C.1200D.log23600

11.对n个元素的表作堆排序,在最坏情况下,算法的时间复杂度为____。

二、填空题(每空1分,共11分)

1.一个算法具有5个特性:

__________________、__________________、________________、有零个或多个输入、有一个或多个输出。

2.设长度为n的线性表顺序存贮,若在它的第i-1和第i个元素之间插入一个元素,共需移动_________个元素(1<

i≤n)。

3.一个字符串中__________________________称为该串的子串。

4.树中结点A的____________________称为结点A的度。

5.一棵深度为4的二叉树最多有_______个结点。

6.具有10个顶点的无向图,边的总数最多为_____________。

7.顺序查找n个元素的顺序表,当不使用监视哨时,若查找成功,比较关键字的次数最多为____次;

若查找失败,比较关键字的次数为_____次。

8.折半查找有序表(2,4,6,12,20,28,38,50,70,100),若查找表中元素12,它依次与表中元素___________________比较大小。

1.线性表的存储结构,在什么情况下采用链接表(如:

单链表)结构?

为什么?

2.空格串与空串有区别?

举例说明之。

四、试画出下列存储结构图(每小题5分,共20分)

1.试画出下列稀疏矩阵以列序为主序的三元组表。

2.试画出下列二叉树的中序线索二叉树存储结构图。

3.试用孩子兄弟(左孩子右兄弟)表示法画出下列树的存储结构图。

4.试画出下列有向网的逆邻接表。

五、求解下列问题(每小题6分,共24分)

1.已知二叉树的前序遍历序列和中序遍历序列分别是:

B,A,C,D,F,E,G和D,C,A,F,G,E,B,

试画出该二叉树。

2.试按表(25,15,19,24,20,5,16,45,40,38)中元素的排列次序,将所有元素插入一棵初始为空的二叉排序树中,使之仍是一棵二叉排序树。

(1)试画出插入完成之后的二叉排序树;

(2)若查找元素17,它将依次与二叉排序树中哪些元素比较大小?

(3)假设每个元素的查找概率相等,试计算该树的平均查找长度ASL;

(4)对该树进行中序遍历,试写出中序遍历序列。

3.试用权集合{4,6,5,12,2,1,13},构造赫夫曼(Huffman)树,

(1)列出构造过程,

(2)分别计算该赫夫曼树的路径长度和带权路径长度。

4.找出下面网络的最小生成树:

六、执行下面的C程序,指出输出结果。

(8分)

#include<

stdio.h>

stdlib.h>

structnode

{chardata;

structnode*next;

};

voidlink_list(structnode*p)

{while(p!

=NULL)

{printf("

%c"

p->

data);

p=p->

next;

\n"

);

}

main()

{charch;

structnode*q,*p,*f,*head=NULL;

for(ch='

A'

ch<

'

F'

ch++)

{p=(structnode*)malloc(sizeof(structnode));

p->

data=ch;

next=head;

head=p;

link_list(p);

p=head;

head=NULL;

while(p!

=NULL)

{q=p;

q->

head=q;

f=head;

while(f->

next!

{link_list(head);

f=f->

next->

}

1.设n个元素的线性表顺序存储在一维数组st[1..maxlen]的前n个位置上,试写出算法:

删除表中第i(1≤i≤n)个元素。

若为非空表,则输出:

最大结点和最小结点的值(data值);

否则,输出:

“Emptylist”。

《数据结构》试题(模三)

一、选择题(从下列各题的4个备选答案中选出1至2个正确答案,将其代号(A,B,C,D)写在下表中,答题写在其它地方无效;

每小题1分,共15分)

12

14

15

1.由____组成的集合是一个数据对象。

A.不同类型的数据项B.不同类型的数据元素C.相同类型的数据项D.相同类型的数据元素

2.____是线性表。

A.(孔子,诸葛亮,曹雪芹)B.{A,B,C,D}C.{10,11,12,13,14}D.(1,2,3,...)

3.____是表示线性数据结构的。

A.循环链表B.邻接多重表C.孩子链表D.单链表

4.将线性表的数据元素以____结构存放,查找一个数据元素所需的时间不依赖于表的长度。

A.循环双链表B.哈希(Hash)表C.一维数组D.单链表

5.设数组A[1..8,1..10]的基地址为4000,每个元素占2个存储单元,若以列序为主序顺序存储,则元素A[4,7]的存储地址是____。

(假定无第0行第0列元素)

A.4072B.4104C.4102D.4074

6.设依次进入一个栈的元素序列为c,a,b,d,不可得到出栈的元素序列有_____。

A.a.b,c,dB.a,d,c,bC.b,a,d,cD.c,d,a,b

7.___又是一棵满二叉树。

A.二叉排序树B.深度为5有31个结点的二叉树

C.有15个结点的完全二叉树D.哈夫曼(Huffman)树

8.深度为k的满二叉树有____个分枝结点。

A.2k-1B.2k-1-1C.2k+1D.2k-1+1

9.具有n(n>

0)个结点的完全二叉树的深度为_____。

A.log2(n)B.log2(n)+1C.log2(n+1)D.log2(n+1)

10.折半查找20个记录的有序表,若查找失败,比较关键字的次数____。

A.最多为6B.最多为5C.最少为3D.最少为4

11.折半查找有序表(2,5,8,20,25,36,40,60),若查找元素60,需依次与

表中元素____进行比较。

A.25,40,60B.25,40C.20,36,40,60D.20,36,40

12.查找哈希(Hash)表,解决冲突的的方法有____。

A.除留余数法B.线性探测再散列法C.直接地址法D.链地址法

13.对有10个记录的表作简单选择排序,需要比较___次关键字。

A.100B.45C.50D.90

14.对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是____。

A.O(n)B.O(n2)C.O(nlog2n)D.O(n3)

15.一个排序算法时间复杂度的大小____有关。

A.与所需比较关键字的次数B.与该算法的稳定性C.不与所需移动记录的数目D.与所需辅助存储空间的大小

二、画图题(每小题4分,共20分)

1.依次输入元素X,Y,Z,插入到一个初始状态为空的链式栈中,试画出空的链式栈和每插入一个元素之后的链式栈示意图。

2.试用双亲表示法画出下列树T的存储结构图。

3.试画出有3行4列元素的二维数组B的以列序为主序的顺序存储结构图。

4.试画出下列图的邻接表。

5.已知一棵二叉树的前序遍历序列和中序遍历序列分别是:

I,A,B,E,F,G,C,H,D和A,E,F,B,I,G,H,C,D

试画出该二叉树。

三、求解问题(每小题7分,共28分)

1.用算符优先法求下列算术表达式的值,试简要说明求值过程,画出操作数栈和运算符栈的主要变化过程。

12+20/(10-2*3)

2.给定电文(文本):

FFAAABBBAAABBCCCDEGGG 

试为字符A、B、C、D、E、F、G设计哈夫曼(Huffman)编码:

(1)画出相应的哈夫曼树,列出各字符的哈夫曼码;

(2)计算该哈夫曼树的带权路径长度。

3.假定后序遍历二叉树的结果是A,C,B,

(1)试画出所有可得到这一结果的不同形态的二叉树;

(2)分别写出这些二叉树的中序遍历序列。

4.假定对20个记录的表作折半查找,

(1)试画出描述折半查找过程的判定树;

(2)若每个记录的查找概率相等,试计算查找成功时的平均查找长度。

四、分析算法回答问题(每小题10,共20分)

1.算法(C函数)

intsuanfan(intn)

{inti,j,sum=0;

for(i=0;

{for(j=i;

n;

j++)sum++;

i=%d,j=%d,sum=%d\n"

i,j,sum);

returnsum;

试回答问题:

(1)"

n"

共执行多少次?

(2)"

sum++;

(3)算法的时间复杂度是多少?

(4)假定n=4,算法的输出结果是什么?

(5)假定n=4,算法的返回值是多少?

2.设二叉树T的存储结构为二叉链表,结点结构定义如下:

{chardata;

//data为字符型

structnode*lchild,*rchild;

//指向左右孩子的指针

设root为二叉树T的根指针,

(1)对二叉树T执行算法traversal(root),试指出其输出结果;

(2)假定二叉树T共有n个结点,试分析算法traversal(root)的时间复杂度。

算法(C函数)如下:

voidtraversal(structnode*root)

{if(root)

{printf("

root->

traversal(root->

lchild);

printf("

traversal(root->

rchild);

五、设计算法:

输入一个m*n的整数矩阵,如果各个元素互不相同,则输出信息"

没有重码!

否则输出信息"

有重码:

和重码值(相同的元素)。

1.用C语言写出所用数据结构的类型定义和算法;

2.分析算法的时间复杂度。

(共17分)

《数据结构》试题(模四)

一、单项选择题(本大题共10小题,每小题1分,共计10分)

1.适合于对动态查找表进行高效率查找的组织结构为()

A、有序表 B、分块有序表C、二叉排序树  D、线性链表

2.若数据的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为()

A、顺序存储结构 B、散列存储结构C、链式存储结构 D、索引存储结构

3.在已知待排序文件已基本有序的前提下,效率最高的排序方法是()

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

4.栈和队列的共同特点是()

A、都是先进后出 B、都是先进先出C、没有共同点  D、只允许在端点处插入和删除元素

5.计算机算法指的是()

A、计算机程序 B、解决问题的计算方法C、查找排序算法 D、解决问题的有限指令序列

6.任一棵二叉树的叶结点在先序,中序,后序遍历序列中的相对次序()

A、不发生变化 B、发生变化C、不能确定  D、以上都不对

7.用容量为m的数组表示一循环队列,front,rear分别是队头、队尾指针,则队列中当前元素的个数为()

A、(rear-front+m)modmB、rear-front+1C、rear-front-1D、rear-front

8.设sub(s,i,j)的功能是返回串s从第i个字符开始长度为j的子串,scopy(s,t)的功能是复制串t到s,若字符串s=`SCIENCESTUDY’,则调用scopy(p,sub(s,1,7))后得到()

A、p=`SCIENCE’B、p=`STUDY’C、s=`SCIENCE’D、s=`STUDY’

9.一批数据用顺序存储结构,第一个元素的存储地址是200,且每个元素长度为2,则第5个元素的存储地址是()

A、210B、208C、200D、220

10.在数据结构中,从逻辑上可以把数据结构分成()

A、动态结构和静态结构 B、紧凑结构和非紧凑结构

C、线性结构和非线性结构 D、内部结构和外部结构

二、填空题(本大题共10小题,每小题1分,共计10分)

1.在哈希查找中,若哈希函数是H(key)=keymodp,则p值应取。

2.对关键字序列(52,80,63,44,47,89)进行一趟快速排序之后得到的结果

为。

3.在单链表中,删除p所指结点的后继结点的操作命令是。

4.二叉树第K层最多有个结点。

5.顺序栈栈顶的位置是随着操作而变化的。

6.设有向图用邻接矩阵存储,计算第i个结点入度的方法是。

7.对1000个数据元素,希望用最快的速度挑选出前10个最大元素,最好选用的排序方法。

8.将n阶对称矩阵只存储下三角部分,共需个存储空间。

9.3个结点构成的二叉树共有种不同的形态。

10.数据的逻辑结构是独立于计算机的,它与数据的无关。

三、判断下列叙述是否正确(本大题共5小题,每小题1分,共5分)

1.字符串的长度是指串中不同字符的个数。

2.存在这样的二叉树,对它采用任何次序遍历结果都相同。

3.无向图的邻接矩阵一定是对称矩阵,而有向图的邻接距阵一定是非对称矩阵。

 4.完全二叉树中,若某个结点没有左孩子,则该结点一定是叶子结点。

 5.线性表的逻辑顺序与存储顺序总是一致的。

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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