数据结构模拟题十套.docx

上传人:b****6 文档编号:4532149 上传时间:2022-12-01 格式:DOCX 页数:77 大小:59.10KB
下载 相关 举报
数据结构模拟题十套.docx_第1页
第1页 / 共77页
数据结构模拟题十套.docx_第2页
第2页 / 共77页
数据结构模拟题十套.docx_第3页
第3页 / 共77页
数据结构模拟题十套.docx_第4页
第4页 / 共77页
数据结构模拟题十套.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

数据结构模拟题十套.docx

《数据结构模拟题十套.docx》由会员分享,可在线阅读,更多相关《数据结构模拟题十套.docx(77页珍藏版)》请在冰豆网上搜索。

数据结构模拟题十套.docx

数据结构模拟题十套

 

数据结构试卷

(一)

 

一、选择题(20分)

1.构成数据的基本单位是(

)。

(A)

数据项

(B)

数据种类

(C)

数据元素

(D)

数据变量

2.设数据结构A=(D,R),此中D={1,2,3,4},R={r}

,r={<1,2>,<2,3>,<3,4>,<4,1>},则

数据结构A是(

)。

(A)

线性结构

(B)

树型结构

(C)

图型结构

(D)

会合

3.数组的逻辑结构不一样于以下(

)的逻辑结构。

(A)

线性表

(B)

(C)

行列

(D)

4.二叉树中第i(i

≥1)层上的结点数最多有(

)个。

(A)2i

(B)2

i

(C)2i-1

(D)2i-1

5.设指针变量p指向单链表结点

A,则删除结点A的后继结点B需要的操作为(

)。

(A)p->next=p->next->next

(B)

p=p->next

(C)p=p->next->next

(D)

p->next=p

6.设栈S和行列Q的初始状态为空,元素

E1、E2、E3、E4、E5和E6挨次经过栈S,一个元素出栈后即

进入行列Q,若6个元素出列的次序为

E2、E4、E3、E6、E5和E1,则栈S的容量起码应当是(

)。

(A)6

(B)4

(C)3

(D)2

7.将10阶对称矩阵压缩储存到一维数组

A中,则数组

A的长度最少为(

)。

(A)100

(B)40

(C)55

(D)80

8.设结点A有3个兄弟结点且结点

B为结点A的双亲结点,则结点B的度数数为(

)。

(A)3

(B)4

(C)5

(D)1

9.依据二叉树的定义可知二叉树共有(

)种不一样的形态。

(A)4

(B)5

(C)6

(D)7

10.设有以下四种排序方法,则(

)的空间复杂度最大。

(A)

冒泡排序

(B)

迅速排序

(C)

堆排序

(D)

希尔排序

一、选择题

1.C

2.C

3.D

4.C

5.A

6.C

7.C

8.B

9.B

10.B

 

二、填空题(30分)

1.

设次序循环行列Q[0:

m-1]的队头指针和队尾指针分别为

F和R,此中队头指针

F指向目前队头元

素的前一个地点,队尾指针R指向目前队尾元素所在的地点,

则出行列的语句为

F=____________;。

2.

设线性表中有n个数据元素,则在次序储存结构上实现次序查找的均匀时间复杂度为

___________,

在链式储存结构上实现次序查找的均匀时间复杂度为___________。

3.

设一棵二叉树中有n个结点,则当用二叉链表作为其储存结构时,该二叉链表中共有

________个指

针域,__________个空指针域。

4.

设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后边插入结点B

的操作序列为______________________________________。

5.

设无向图G中有n个极点和e条边,则其对应的毗邻表中有

_________个表头结点和_________个表

结点。

6.

设无向图G中有n个极点e条边,全部极点的度数之和为

m,则e和m有______关系。

 

7.

设一棵二叉树的前序遍历序列和中序遍历序列均为

ABC,则该二叉树的后序遍历序列为__________。

8.

设一棵完整二叉树中有21

个结点,假如依据从上到下、从左到右的次序从

1开始次序编号,则编

号为8的双亲结点的编号是

___________,编号为8的左孩子结点的编号是

_____________。

9.以下程序段的功能实现子串t在主串s中地点的算法,要求在下划线处填上正确语句。

intindex(chars[],chart[])

{

i=j=0;

while(i

if(j==strlen(t))return(i-strlen(t));elsereturn(-1);

}

设一个连通图

G中有

n个极点

e条边,则其最小生成树上有

________条边。

二、填空题

10.(F+1)%m

11.O(n),O(n)

12.2n,n+1

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

14.n,2e

15.m=2e

16.CBA

17.4,16

18.i-j+1,0

19.n-1

20.

 

三、应用题(30分)

1.设完整二叉树的次序储存结构中储存数据ABCDE,要求给出该二叉树的链式储存结构并给出该二叉树

的前序、中序和后序遍历序列。

2.设给定一个权值会合W=(3,5,7,9,11),要求依据给定的权值会合结构一棵哈夫曼树并计算哈夫

曼树的带权路径长度WPL。

3.设一组初始记录重点字序列为

为基准的一趟迅速排序结果以及第

 

(19,21,16,5,18,23),要求给出以

2趟直接选择排序后的结果。

 

19

4.设一组初始记录重点字会合为(25,10,8,27,32,68),散列表的长度为

8,散列函数H(k)=kmod7,要求分别用线性探测和链地点法作为解决矛盾的方法设计哈希表。

5.设无向图G(所右图所示),要求给出该图的深度优先和广度优先遍历的序列并给出该图的最小生成树。

 

三、应用题

1.链式储存结构略,前序ABDEC,中序DBEAC,后序DEBCA。

2.哈夫曼树略,WPL=78

3.(18,5,16,19,21,23),(5,16,21,19,18,23)

 

h0

h1

8

0

1

2

3

4

5

6

7

h2

4.

链地点法:

h3

10

线性探测:

8

10

25

32

27

68

h4

25

32

h5

68

h6

27

5.

深度:

125364,广度:

123456,最小生成树

T的边集为E={(1

,4),(1,3),(3,5),(5,6),(5,6)}

 

四、算法设计题(20分)

1.设计判断单链表中结点能否对于中心对称算法。

2.设计在链式储存结构上成立一棵二叉树的算法。

3.设计判断一棵二叉树是不是二叉排序树的算法。

 

四、算法设计题

1.设计判断单链表中结点能否对于中心对称算法。

typedefstruct{ints[100];inttop;}sqstack;

intlklistsymmetry(lklist*head)

{

sqstackstack;stack.top=-1;lklist*p;for(p=head;p!

=0;p=p->next){stack.top++;stack.s[stack.top]=p->data;}

for(p=head;p!

=0;p=p->next)if(p->data==stack.s[stack.top])stack.top=stack.top-1;elsereturn(0);return

(1);

}

2.设计在链式储存结构上成立一棵二叉树的算法。

typedefchardatatype;

typedefstructnode{datatypedata;structnode*lchild,*rchild;}bitree;voidcreatebitree(bitree*&bt)

{

charch;scanf("%c",&ch);if(ch=='#'){bt=0;return;}bt=(bitree*)malloc(sizeof(bitree));bt->data=ch;createbitree(bt->lchild);createbitree(bt->rchild);

}

3.设计判断一棵二叉树是不是二叉排序树的算法。

intminnum=-32768,flag=1;

typedefstructnode{intkey;structnode*lchild,*rchild;}bitree;voidinorder(bitree*bt)

{

if(bt!

=0)

{inorder(bt->lchild);if(minnum>bt->key)flag=0;minnum=bt->key;inorder(bt->rchild);}

}

 

数据结构试卷

(一)参照答案

 

数据结构试卷

(二)

 

一、选择题(24分)

1.下边对于线性表的表达错误的选项是()。

(A)线性表采纳次序储存一定占用一片连续的储存空间

(B)线性表采纳链式储存不用占用一片连续的储存空间

(C)线性表采纳链式储存便于插入和删除操作的实现

(D)线性表采纳次序储存便于插入和删除操作的实现

2.设哈夫曼树中的叶子结点总数为

m,若用二叉链表作为储存结构,则该哈夫曼树中总合有(

)个空

指针域。

(A)2m-1

(B)2m

(C)2m+1

(D)4m

3.设次序循环行列

Q[0:

M-1]的头指针和尾指针分别为

F和R,头指针F老是指向队头元素的前一地点,

尾指针R老是指向队尾元素的目前地点,则该循环行列中的元素个数为(

)。

(A)R-F

(B)F-R

(C)(R-F+M)%M

(D)(F-R+M)%M

4.设某棵二叉树的中序遍历序列为

ABCD,前序遍历序列为

CABD,则后序遍历该二叉树获得序列为

)。

(A)BADC

(B)BCDA

(C)CDAB

(D)CBDA

5.设某完整无向图中有n个极点,则该完整无向图中有(

)条边。

(A)n(n-1)/2

(B)n(n-1)

(C)n2

(D)n

2-1

6.设某棵二叉树中有

2000个结点,则该二叉树的最小高度为(

)。

(A)9

(B)10

(C)11

(D)12

7.设某有向图中有

n个极点,则该有向图对应的毗邻表中有(

)个表头结点。

(A)n-1

(B)n

(C)n+1

(D)2n-1

8.设一组初始记录重点字序列(5,2,6,3,8),以第一个记录重点字

5为基准进行一趟迅速排序的结

果为(

)。

(A)2

,3,5,8,6

(B)3

,2,5,8,6

(C)3

,2,5,6,8

(D)2

,3,6,5,8

 

二、填空题(24分)

1.为了能有效地应用HASH查找技术,一定解决的两个问题是____________________和

__________________________。

2.下边程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。

typedefstruct{ints[100];inttop;}sqstack;voidpush(sqstack&stack,intx)

{

if(stack.top==m-1)printf(“overflow”);

else{____________________;_________________;}

}

3.中序遍历二叉排序树所获得的序列是

___________序列(填有序或无序)。

 

4.迅速排序的最坏时间复杂度为___________,均匀时间复杂度为__________。

5.

设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为

2的结点数

为_________;若采纳二叉链表作为该二叉树的储存结构,则该二叉树中共有

_______个空指针域。

6.

设某无向图中极点数和边数分别为

n和e,全部极点的度数之和为

d,则e=_______。

7.设一组初始记录重点字序列为(55,63,44,38,75,80,31,56),则利用挑选法成立的初始堆为

___________________________。

v1

3

2

4

8.设某无向图

v2

1

3

,则从极点V开始的深度优先遍历序列为

___________;

G的毗邻表为

1

v3

1

4

2

v4

1

3

广度优先遍历序列为

____________。

 

三、应用题(36分)

1.设一组初始记录重点字序列为(45,80,48,40,22,78),则分别给出第4趟简单项选择择排序和第

趟直接插入排序后的结果。

2.设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后边插入

结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。

3.设一组有序的记录重点字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,

 

4

要求计算出查找重点字62时的比较次数并计算出查找成功时的均匀查找长度。

4.设一棵树T中边的会合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的储存结构并将该树

转变为对应的二叉树。

5.设有无向图G(如右图所示),要求给出用普里姆算法结构最小生成树所走

过的边的会合。

6.设有一组初始记录重点字为(45,80,48,40,22,78),要求结构一棵二叉排序树并给出结构过程。

 

四、算法设计题(16分)

1.设有一组初始记录重点字序列(K1,K2,,Kn),要求设计一个算法能够在O(n)的时间复杂度内将

线性表区分红两部分,此中左半部分的每个重点字均小于Ki,右半部分的每个重点字均大于等于Ki。

2.设有两个会合A和会合B,要求设计生成会合C=A∩B的算法,此中会合A、B和C用链式储存结构

表示。

 

数据结构试卷

(二)参照答案

 

一、选择题

1.D2.B3.C4.A5.A6.C7.B8.C

 

二、填空题

1.结构一个好的HASH函数,确立解决矛盾的方法

2.stack.top++,stack.s[stack.top]=x

3.有序

4.O(n2),O(nlog2n)

5.N0-1,2N0+N1

6.d/2

7.(31,38,54,56,75,80,55,63)

8.(1,3,4,2),(1,3,2,4)

 

三、应用题

1.(22,40,45,48,80,78),(40,45,48,80,22,78)

2.q->llink=p;q->rlink=p->rlink;p->rlink->llink=q;p->rlink=q;

3.2,ASL=91*1+2*2+3*4+4*2)=25/9

4.树的链式储存结构略,二叉树略

5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}

6.略

 

四、算法设计题

1.设有一组初始记录重点字序列(K1,K2,,Kn),要求设计一个算法能够在O(n)的时间复杂度内将

线性表区分红两部分,此中左半部分的每个重点字均小于Ki,右半部分的每个重点字均大于等于Ki。

voidquickpass(intr[],ints,intt)

{

inti=s,j=t,x=r[s];

while(i

while(ix)j=j-1;if(i

while(i

}

r[i]=x;

}

2.设有两个会合

A和会合

B,要求设计生成会合

C=A∩B的算法,此中会合

A、B和

C用链式储存结构

表示。

typedefstructnode{intdata;structnode*next;}lklist;

voidintersection(lklist*ha,lklist*hb,lklist*&hc)

{

lklist*p,*q,*t;

for(p=ha,hc=0;p!

=0;p=p->next)

{for(q=hb;q!

=0;q=q->next)if(q->data==p->data)break;

if(q!

=0){t=(lklist*)malloc(sizeof(lklist));t->data=p->data;t->next=hc;hc=t;}

 

}

}

 

数据结构试卷(三)

 

一、选择题(30分)

1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},

r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},

则数据结构A是()。

(A)线性结构

(B)树型结构

(C)物理结构

(D)图型结构

2.下边程序的时间复杂为(

for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}

(A)O(n)

(B)O(n

2)

(C)O(n

3)

(D)O(n4)

3.设指针变量p指向单链表中结点

A,若删除单链表中结点

A,则需要改正指针的操作序列为(

)。

(A)q=p->next

;p->data=q->data

;p->next=q->next

;free(q)

(B)q=p->next

;q->data=p->data

;p->next=q->next

;free(q)

(C)q=p->next

;p->next=q->next

;free(q)

(D)q=p->next

;p->data=q->data

;free(q)

4.设有n个待排序的记录重点字,则在堆排序中需要(

)个协助记录单元。

(A)1

(B)n

(C)nlog2n

(D)n2

5.设一组初始重点字记录重点字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟迅速排序结束后的结果为()。

 

(A)10,15,14,18,20,36,40,21

(B)10,15,14,18,20,40,36,21

(C)10,15,14,20,18,40,36,2l

(D)15,10,14,18,20,36,40,21

6.设二叉排序树中有

n个结点,则在二叉排序树的均匀均匀查找长度为(

)。

(A)O

(1)

2

(C)

2

(B)O(logn)

(D)O(n)

7.设无向图G中有n个极点e条边,则其对应的毗邻表中的表头结点和表结点的个数分别为(

)。

(A)n,e

(B)e,n

(C)2n,e

(D)n,2e

8.

设某强连通图中有

n个极点,则该强连通图中起码有(

)条边。

(A)n(n-1)

(B)n+1

(C)n

(D)n(n+1)

9.设有5000个待排序的记录重点字,假如需要用最快的方法选出此中最小的

10个记录重点字,则用

以下(

)方法能够达到此目的。

(A)迅速排序

(B)堆排序

(C)

合并排序

(D)

插入排序

10.

以下四种排序中(

)的空间复杂度最大。

(A)插入排序

(B)冒泡排序

(C)

堆排序

(D)

合并排序

二、填空殖

(48分,此中最后两小题各

6分)

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

当前位置:首页 > 解决方案 > 营销活动策划

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

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