数据结构练习题(含答案)_第1页
数据结构练习题(含答案)_第2页
数据结构练习题(含答案)_第3页
数据结构练习题(含答案)_第4页
数据结构练习题(含答案)_第5页
已阅读5页,还剩9页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构练习题

习题1绪论

1.1单项选择题

1.数据结构是一门研究非数值计算的程序设计问题中,数据元素的①£、数据信息在计算机中的②」以及一组相关的

运算等的课程。

①A.操作对象B.计算方法C.逻辑结构D.数据映象

②A.存储结构B.关系C.运算D.算法

2.数据结构DS(DataStruct)可以被形式地定义为DS=(D,R),其中D是①B的有限集合,R是D上的②J有

限集合。

①A.算法B.数据元素C.数据操作D.数据对象

②A.操作B.映象C.存储D.关系

3.在数据结构中,从逻辑上可以把数据结构分成C

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

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

4.算法分析的目的是①工,算:法分析的两个主要方面是②一

①A.找出数据结构的合理性B.研究算法中的输入和输出的关系

C.分析算法的效率以求改进D.分析算法的易懂性和文档性

②A.空间复杂性和时间复杂性B.正确性和简明性

C.可读性和文档性D.数据复杂性和程序复杂性

5.计算机和法指的是①J,它必具备输入、输出和②B等五个特性。

①A.计算方法B.排序方法

C.解决问题的有限运算序列I).调度方法

②A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性

C.确定性、有穷性和稳定性D.易读性、稳定性和安全性

1.2填空题(将正确的答案填在相应的空中)

1.数据逻辑结构包括线性结构、树形结构和图形结构三种类型,树形结构和图形结构合称为非线性结构。

2.在线性结构中,第一个结点处一前驱结点,其余每个结点有且只有」一个前驱结点.:最后一个结点_没有一后续结

点,其余每个结点有且只有1个后续结点。

3.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有_一个直接前驱结点,叶子结点没有正续

结点,其余每个结点的直接后续结点可以任孩多个。

4.在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个.

5.线性结构中元素之间存在二Mzz关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

6.算法的五个重要特性是有穷性、确定性、可行性、输入、输出。

7.分析下面算法(程序段),给出最大语句频度n,,该算法的时间复杂度是0(》)。

for(i=0;i<n;i++)

foi'(j=0;j<n;j++)

A[i][j]=O;

8.分析下面算法(程序段),给出最大语句频度n(n+l)/2,该算法的时间复杂度是”④。

for(i=0;i<n;i++)

for(j=0;j<i;j++)

A[i][j]=0;

9.分析下面算法(程序段),给出最大语句频度r?,该算法的时间复杂爱是0(「)°

s=0;

for(i=0;i<n:i++)

for(j=O;j<n;j++)

for(k=0;k<n;k++)

s=s+B[i][j][k];

sum=s;I

10.分析下面算法(程序段)给出最大语句频度」1L,该算法的时间复杂度是0(丁).

i=s=0;

while(s<n)

{i++;

s+=i;//s=s+i

H.分析下面算法(程序段)给出分大语句频度1。改n,该算法的时间算杂度程0(log2n3

1=1:

while(i<=n)

i=i*2;

习题2线性表

2.1单项选择题

1.一个向量(即一批地址连续的存储单元)第一个元素的存储地址是100.每个元素的长度为2,则第5个元素的地址

是_J_。

A.110B.108C.100I).120

2.线性表的顺序存储结构是一种A的存储结构,而链式存储结构是一种_匚的存储结构。

A.随机存取B.索引存取C.顺序存取D.散列存取

3.线性表的逻辑顺序与存储顺序总是一致的,这种说法Bo

A.正确B.不正确

4.线性我若采用链式存储结构时,要求内存中可用存储单元的地址

A.必须是连续的B.部分地址必须是连续的

C.一定是不连续的D.连续或不连续都可以

5.在以下的叙述中,正确的是Co

A.线性表的顺序存储结构优于链表存储结构

B.线性表的顺序存储结构适用于频繁插入/删除数据元素的情况

C.线性表的链表存储结构适用于频繁插入/删除数据元素的情况

D.线性表的链表存储结构优于顺序存储结构

6.每种数据结构都具备三个基本运算:插入、删除和杳找,这种说法A。

A.正确B.不正确

7.不带头结点的单链表head为空的判定条件是_上。

A.head==NULLB.head->next==\ULL

C.head->ncxt==hcadD.head!=NULL

8.带头结点的单链表head为空的判定条件是o

A.hcod---NULLB.hcad->ncxt---NULL

C.head->next==headD.head!=NULL

9.非空的循环单链表head的尾结点(由p所指向)满足C。

A.p->next==NULLB.p==NULL

C.p->next==headD.p==head

10.在双向循环链表的p所指结点之后插入s所指结点的操作是I)°

A.p->right=s:s->left=p:p->right->left=s;s->right=p->right;

B.p->right=s;p->right->left=s;s->left=p;s->right=p->right;

C.s->left=p;s->right=p->right;p->right=s;p->right->left=s:

D.s->left=p:s->right=p->right:p->right->left=s;p->right=s;

11.在一个单链表中,己知q所指结点是p所指结点的前驱结点,若在q和P之间插入s结点,则执行B0

A.s->next=p->next;p->next=s;B.p->next=s->next;s->next=p:

B.q->next=s;s->next=p;C.p->next=s;s->next=q;

12.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行B0

A.s->next=p:p->next=s:B.s->next=p->next;p->next=s;

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

13.在一个单链表中,若删除p所指结点的后续结点,则执行A。

A.p->next=p->next->next:B,p=p->ncxt;p->next=p->ncxt->ncxt;

C.p->next=p->next;D.p=p->next->next;

14.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较D个结点。

A.nB.n/2C.(n-l)/2D.(n+l)/2

15.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是BD

2

A.0(1)B.O(n)C.0(n)D.0(nlog2n)

16.给定有n个元素的向量,♦立一个有序单链表的时间复杂度是C。

2

A.0(1))B.O(n)C.0(n)D,0(n*log2n)

2.2填空题(将正确的答案填在相应的空中)

I.单链表可以做线性结表的链接存储表示。

2.在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向后继结点.

3.在一个单链表中p所指结点之前插入一个s(值为e)所指结点时,可执行如下操作:

q=head;

while(q->ncxt!=p)q=q->next;

s=newNode;s->data=e;

q->next=s;〃填空

s->next=p;〃填空

4.在个单链表中删除p所指结点的后继结点时,应执行以下操作:

q=p->next;

p->next=q->next;〃填空

delete_g_;〃填空

5.在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->ncxt=p->ncxi和p->ncxt=s的操作。

6.对于一个具有n个结点的单链表,在已知p所指结点后插入一个新结点的时间复杂度是0⑴;在给定值为

的结点后插入一个新结点的时间复杂度是0(n)。

习题3栈和队列

3.1单项选择题

1.一个找的入栈序列a,b,c,d,e,则栈的不可能的输出序列是Co

A.edebaB.decbaC.deeabD.abede

2.若已知一个栈的入栈序列是1,列3,n,其输出序列为pl,p2,p3,…,pn,若pl=n,则Di为C。

A.iB.n=iC.n-i+1D.不确定

3.栈结构通常采用的两种存储结构是A0

A.顺序存储结构和链式存储结构

B.散列方式和索引方式

C.链表存储结构和数组

D,线性存储结构和非线性存储结构

4.判定一个顺序栈ST(最多元素为m0)为空的条件是

A.top!=0B.top==0C.top!=m0I).top==m01

5.判定一个顺序栈ST(最多元素为mO)为栈满的条件是。

A.top!=0B.top==0C.top!=m0D.top==m0-l

6.栈的特点是B,队列的特点是A。

A.先进先出B.先进后出

7.向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行C。

(不带空的头结点)

A.HS—>next=s;

B.s—>next=HS—>next;HS—>next=s;

C.s—>next=HS;IIS=s;

D.s—>next=HS;HS=HS—>next;

8.从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行。(不带空的头结点)

A.x=HS;1IS=HS—>ncxt;B.x=HS—>data:

C.HS=HS—>next;x=HS—>data;D.x=HS—>data;HS=HS—>next;

9.一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是」—o

A.4,3,2,1B.1,2,3,4

C.1,4,3,2D.3,2,4,1

10.判定一个循环队列凯:(最多元素为前)为空的条件是C0

A.rear-front==m0B.rear-front-l==m0

C.front==rearI).front==rear+1

11.判定一个循环队列QU(最多元素为m。,mO==Maxsize-l)为满队列的条件是A。

A.((rear-front)+Maxsize)%Maxsize==(n0

B.rear-front-l==m0

C.front==rear

D.front==rear।1

12.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是from和rear,则当前队列中的元素个数是。

A.(rear-front+m)%m

B.rear-fi'ont+l

C.rear-front-1

D.rear-front

13.栈和队列的共同点是C。

A.都是先进后出B.都是先进先出

C.只允许在端点处插入和删除元素D.没有共同点

3.2填空题(将正确的答案填在相应的空中)

1.向量、栈和队列都是线性结构,可以在向量的任何位置插入和删除元素:对于栈只能在栈顶插入和删除元素:

对于队列只能在队尾插入元素和J苴删除元素。

2.向一个长度为n的向量的第i个元素MWiWn+1)之前插入一个元素时,需向后移动n-i+1个元素。

3.向一个长度为n的向量中删除第i个元素(iWiWn)时,需向前移动n-i个元素。

4.在具有n个单元的循环队列中,队满时共有叱1个元素。

习题5树和二叉树

5.1单项选择题

1.由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法且。

A.正确B.错误

2.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为J个。

A.15B.16C.17D.47

3.按照二叉树的定义,具有3个结点的不同形状的二叉树有工种。

A.3B.4C.5D.6

4.按照二叉树的定义,具有3个不同数据结点的不同的二叉树有工种。

A.5B.6C.30D.32

5.深度为5的二叉树至多有一个结点。

A.16B.32C.31D.10

G.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为_JLO

A.2hB.2h-lC.2h+lD.h+1

7.对-•个满二叉树,m个树叶,n个结点,深度为h,则工。

A.n=h+mB.h+m=2nC.m=h-lD.n=2h-l

8.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序A。

A.不发生改变B.发生改变C.不能确定D.以上都不对

9.如果某二叉树的前根次序遍历结果为stuwv,中序遍历为uwtvs,那么该二叉树的后序为C。

A.uwvtsB.vwutsC.wuvtsD.wutsv

io.二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法」

A.正确B.错误

11.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍物的结点访问

顺序是」L。

A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca

12.在一非空二叉树的中序遍历序列中,根结点的右边B。

A.只有右子树上的所有结点B.只有右子树上的部分结点

C.只有左子树上的部分结点D,只有左子树上的所有结点

13.如图6.1所示二叉树的中序遍历序列是旦。

A.abcdgefB.dfebagcC.dbaefcgD.defbagc

图6.2

14.一棵二叉树如图6.2所示,其中序遍历的序列为o

A.abdgcefhB.dgbaechfC.gdbehfcaD.abcdefgh

15.设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是5―。

A.a在b的右方3.a在b的左方

C.a是b的祖先工a是b的子孙

16.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是旦。

A.acbedB.decabC.deabcD.cedba

17.实现任意二叉树的后序遍历的非递归克法而不使用栈结构,最佳方案是二叉树采用C存储结构。

A.二叉链表B.广义表存储结构C.三叉链表D.顺序存储结构

18.如图6.3所示的4棵二叉树,£不是完全二叉树。

图6.3

20.在线索化二叉树中,t所指结点没有左子树的充要条件是」

A.I—>left=NULLB.t—>ltag=l

C.t—>ltag=l且t—>left=NUL)D.以上都不对

21.二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说法」L。

A.正确B.错误

22.二义树为二义排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法也。

A.正确B.错误

23.具有五层结点的二叉平衡树至少有5_个结点。

A.10B.12C.15I).17

24.树的基本遍历策略可分为先根遍历和后根遍历:二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这

里,我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论上是正确的。

A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同

B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同

C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同

D.以上都不对

25.树最适合用来表示

A.有序数据元素B.无序数据元素

C.元素之间具有分支层次关系的数据D.元素之间无联系的数据

5.2填空题(将正确的答案填在相应的空中)

I.有一棵树如图6.5所示,回答下面的问题:・

⑴这棵树的根结点是kl:

⑵这棵树的叶子结点是k2,k5,k7,<4:

⑶结点k3的度是上:

⑷这棵树的度是3;

⑸这棵树的深度是,;

⑹结点k3的子女是k5,k6:

(7)结点k3的父结点是也留「一埋由

2.指出树和二叉树的三个主要差别树的结点个数至少为1,而二叉树的结点个数川以为0、

树中结点的最大度数没有限制、而二叉树结点的最大度数为2、

树的结点无左、右之分,而二叉树的结点有左、右之分。;

3.从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是树可采用孩了二叉链表做存储

结构,目的并利用二叉树的已有和法解决树的有关问题。

4.一棵二叉树的结点数据采用顺序存储结构,存储于数组I中,如图6.6所示,则该二叉树的链接表示形式为顺序存

储。

1234567891011121314151B1718192021

eafdgcj1hb

图6.6一棵二叉树的顺序存储数组t

5.深度为k的完全二叉树至少有上,个结点。至多有2,-I个结点,若按自上而下,从左到右次序给结点编号(从

1开始),则编号最小的叶子结点的编号是21+1。

6.在一棵二叉树中,度为零的结点的个数为n°,度为2的结点的个数为n2,则有n0=廿1。

7.一棵二叉树的第i(iNl)层最多有"二个结点;一棵有n(n>0)个结点的满二叉树共有个叶子和止严

-1个非终端结点。

8.结点最少的树为只有一个结点的树,结点最少的二叉树空的二叉树。

9.现有按中序遍历二叉树的结果为abc,问有5种不同形态的二叉树可以得到这一遍历结果,这些二叉树分别是

图6.10树形5种

10.由如图6.7所示的二叉树,回答以下问题:

(1)其中序遍历序列为dgbaechif:

⑵其前序遍历序列为abdgcefhi;

⑶其后序遍历序列为gdbcihfca:

5.3简答题

1.根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,请将它们分别画出。

图6.11树形5种

2.假设一棵二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。

请画出该树。

3.由如图6.7所示的二叉树,回答以下门题:

(1)画出该二叉树的中序线索二叉树;

(2)画出该二叉树的后序线索二叉树:

(3)画出该二叉树对•应的森林。(\

图6.7一棵二叉树

图6.M对应的森林1小

图6.13

中序线索二叉树如图6.13(左)所示:后序线索二叉树如图6.13(右)所示:

该二叉枕转换后的的森林如图6.14所示。

4.已知一棵树如图6.8所示,转化为一模二叉树,表示为

图6.8一棵树图6.15一棵树的孩子兄弟表

5.以数据集{4,5,6,7,1(),12,18}为结点权值,画出构造Huffman树的每一步图示,计算其带权路径长度为。

图6.16

6.一棵含有N个结点的k叉树,可能达到的最大深度和最小深度各为多少?

一棵含有N个结点的k叉树,可能达到的最大深度h=N-k+l,

最小深度各为:logN+1。

习题6图

6.1单项选择题

1.在一个图中,所有顶点的度数之和等于所有边数的£倍。

A.i/2B.1C.2I).4

2.任何一个无向连通图的最小生成树B。

A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在

3.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的」一倍。

A.1/2B.1C.2D.4

4.一个有n个顶点的无向图最多有」条边。

A.nB.n(n-l)C.n(n-l)/2D.2n

5.具有4个顶点的无向完全图有A条边。

A.6B.12C.16D.20

6.具有6个顶点的无向图至少应有」条边才能确保是一个连通图。

A.5B.6C.7D.8

7.在一个具有n个顶点的无向图中,要连通全部顶点至少需要C条边。

A.nB.n+1C.n-1D.n/2

8.对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是

A.nB.(n-1)2C.n-1D.n2

9.对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为①A;所有邻接表中的接点

总数是②C。

①A.nB.n+1C.n-1D.n+e

②A.e/2B.eC.2eD.n+e

10.已知一个图如图7.1所示,若从顶点a出发按深度搜索法进行遍历,则可能得到

的一种顶点序列为①旦:按宽度搜索法进行遍历,则可能得到的一种顶点序列

为②B。

图7.1〜个无向图

11.已知一有向图的邻接表存储结构如图7.2所示。

1---------3---------2A

2A

3-------4Q-------H5IAI

4

--------A2---------A4A

2一个有向图的邻接表存储结构

⑴根据有向图的深度优先遍历算法,从顶点vl出发,所得到的顶点序列是

A.vl,v2,v3,v5,v4B.vl,v2,v3,v4,v5

C.vl,v3,v4,v5,\r2D.vl,;r4,v3,v5,v2

⑵根据行向图的宽度优先遍历算法,从顶点vl出发,所得到的顶点序列是上。

A.vl,v2,v3,v4,v5B.vl,v3,v2,v4,v5

C.vl,v2,v3,v5,v4D.vl,;f4,v3,v5,v2

12.采用邻接表存储的图的深度优先遍历算法类似于二叉树的上—。

A.先序遍历B.中序遍历C.后序遍历D.按层遍历

13.采用邻接表存储的图的宽度优先遍历算法类似于二叉树的

A.先序遍历B.中序遍历C,后序遍历D.按层遍历

14.判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用D0

A.求关键路径的方法B.求最短路径的Dijkstra方法

C.宽度优先遍历算法D.深度优先遍历算法

15.关键路径是事件结点网络中-

A.从源点到汇点的最长路径B.从源点到汇点的最短路径

C.最长的回路D.最短的回路

16.下面不正确的说法是Ao

(1)在AOE网中,减小一个关键活动上的权值后,整个工期也就相应减小;

(2)AOE网工程工期为关键活动上的权之和;

(3)在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。

A.(1)B.(2)C.(3)D.(1)、(2)

17.用DFS遍历•个无环有向图,并在DFS算法退栈返回时打印出相应的顶点,则输出的顶点序列是。

A.逆拓朴有序的B.拓朴有序的C.无序的

18.在图7.3所示的拓朴排列的结果序列为Bo

A.125634B.516234C.123456D.521634

19.一个有n个顶点的图7.3有向图兄包含的连通分量个数为上。

A.0B.1C.nD.n+1

20.对于一个有向图,若一个顶点的入度为kl,、出度为k2,则对应邻接表中该顶点单链表中的结点数为』—o

A.klB.k2C.kl-k2D.kl+k2

21.对于一个有向图,若一个顶点的入度为kl,、出度为k2,则对应逆邻接表中该顶点单链表中的结点数为

A.klB.k2C.kl-k2D.kl+k2

6.2填空题(将正确的答案填在相应饿空中)

1.n个顶点的连通图至少n-1条边。

2.在无权图G的邻接矩阵A中,若(vi,vj)或Vvi,vj>属于图G的边集合,则对应元素等于1,否则等于0。

3.在无向图G的邻接矩阵A中,若等于1,则]等于10

4.已知图G的邻接表如图7.4所示,其从顶点vl出发的深度有限搜索序列为vl,v2,v3,v6,v5,v4:,其从顶点vl出

发的宽度优先搜索序列为vl,v2,v5,v4,v3,v6。

图7.4图G的邻接表

5.已知一个行向图的邻接矩阵表示,计算第i个结点的入度的方法是求矩阵第i列非零元素之和。

6.已知一个图的邻接矩阵表示,删险所有从第i个结点出发的边的方法是将矩阵第i行全部置为零o

7.如果含n个顶点的图形成一个环,则它有n棵生成树。

8.一个非连通无向图,共有28条边,则该图至少有J个顶点。

9.遍历图的过程实质上是对每个顶点杳找其邻接点的过程;o(e)(e为图中的边数)°BFS遍历图的时间复杂度为」

(e)(e为图中的边数),DFS遍历图的时间免杂度为;o(e);,两者不同之处在于遍历图的顺序不同:DFS采

用栈存储访同过的结点,反映在数据结构上的差别是BFS采用队列存储访问过的结点。.

10.一个图的邻接矩阵表示法是唯一的,而邻接表表示法是不唯一的。

11.有向图中的结点前驱后维关系的特征是一一个结点可能有若干个前驱,也可能有若干个后继.

12.♦尢向图G的顶点度数最小值大于等于2时,G至少有一条回路。

13.根据图的存储结构进行某种次序的遍历,得到的顶点序列是唯一的。

6.3综合题

1.已知如图7.5所示的有向图,请给出该图的:

(1)每个顶点的入/出度:

(2)邻接距阵:

(3)邻接表;

(4)逆邻接表:

(5)强连通分量。

图7.5一个有向图

2.请用克鲁斯卡尔和普里姆两种算法分别为图7.6、图7.7构造最小生成树:

12

◎21

图7.6

3.试列出图7.8中全部的拓扑排序序列。

152364

152634

156234

561234

516234

512634

512364

图78

4.请用图示说明图7.9从顶点a到其余各顶点之间的最短路径。

5.已知AOE网有9个结点:VI,V2,V3,V4,V5,V6,V7,V8,V9,其邻接矩阵如下:

(1)请画出该AOE图。

⑵计算完成整个计划需要的时间。

⑶求出该AOE网的关键路径。

OC6-15OCOCOCOCOC

OCOCOCOC1OCOCOCoc

OCOCOCOC1OCOCOCoc

OCOCOCOCOC2OCococ

OCOCOCOCOCOC97oc

OCOCOCOCOCOCOC4oc

kA-k-x-2

OCOCOCOCOCOCOCOC4

OCOCOCOCOCOCOCOCOC

⑴该AOE图为:

⑵完成整个计划需要18天。

(3)关键路径为:(VI,V2,V5,V7,V9)和(VI,V2,V5,V8,V9,)

习题7查找

7.1单项选择题

1.顺序查找法适合于存储结构为」的线性表。

A.赦列存储B.顺序存储或链接存储

C.压缩存储I).索引存储

2.对线性表进行二分查找时,耍求线性表必须C。

A.以顺序方式存储B.以链接方式存储

C.以顺序方式存储,且结点按关键字有序排序

D.以链接方式存储,且结点按关键字有序排序

3.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为

A.nB.n/2C.(n+l)/2D.(n-l)/2

4.采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为』o

A.0(n')B.O(nlogjn)C.0(n)I).O(logm)

5.二分查找和二叉排序树的时间性能B.

A.用同B.不相同

6.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值82为的结点时,C次比

较后查找成功。

A.1B.2C.4D.8

7.设哈希表长m=14,哈希函数H(key)=ke/%11°表中已有4个结点:

addr(15)=4;addr(38)=5;addr(61)=6;addr(84)=7

如用二次探测再散列处理冲突,关键字为49的结点的地址是D°

A.8B.3C.5D.9

8.有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次

数为B。

A.35/12B.37/12C.39/12D.43/12

9.对于静态表的顺序查找法,若在表头设置岗哨,则正确的查找方式为o

A.从第0个元素往后查找该数据元素

B.从第1个元素往后查找该数据元素

C.从笫n个元素往开始前查找该数据元素

I).与查找顺序无关

10.解决散列法中出现的冲突问题常采用的方法是D0

A.数字分析法、除余法、平方取中法

B.数字分析法、除余法、线性探测法

C.数字分析法、线性探测法、多重散列法

D.线性探测法、多重散列法、链地址法

11.采用线性探测法解决冲突问题,所产生的一系列后继散列地址—上。

A.必须大于等于原散列地址

B.必须小于等于原散列地址

C.可以大于或小于但不能等于原散列地址

D.地址大小没有具体限制

12.对于查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。这种方式主要适合于」o

A.静态查找农B.动态查找表

C.静态查找表与动态查找表D两种表都不适合

13.散列表的平均查找长度

A.与处理冲突方法有关而与表的长度无关

B.与处理冲突方法无关而与表的长度有关

C.与处理冲突方法有关而与表的长度有关

D.与处理冲突方法无关而与表的长度无关

7.2填空题(将正确的答案填在相应的空中)

1.顺序查找法的平均查找长度为(n+l)/2;折半查找法的平均查找长度为((n+l)*lo&2(n+l))/nT:哈希表

查找法采用链接法处理冲突时的平均查找长度为1+a(°为装填闪子)o

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

3.折半查找的存储结构仅限于顺序存储结构,且是有序的。

4.假设在有序线性表A[L.20]上进行折半查找,则比较一次查找成功的结点数为」_,则比较二次查找成功的结点数

为2,则比较三次查找成功的结点数为4,则比较四次杳找成功的结点数为8,则比较五次杳找成女的结点数为

5,平均查找长度为3.7

5.对于长度为n的线性表,若进行顺序查找,则时间复杂度为若采用折半法查找,则时间受杂度为0(1。8汨);

6.已知有序表为(12,18,24,35,47,50,62,83,90,115,134),当用折半查找90时,需进行2次查找

可确定成功:查找47时,需进行」次查找成功:查找100时,需进行—上次查找才能确定不成功。

7.二义排序树的查找长度不仅与结点个数n有关,也与二义排序树的生成过程有关。

8.一个无序序列可以通过构造一棵二叉排序树树而变成一个有序树,构造树的过程即为对无序序处进行排序的

过程。

9.平衡二叉排序树上任一结点的平衡因子只可能是、_L或二1_。

10.直接定址法构造的哈希函数肯定不会发生冲突。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论