数据结构习题库汇总.docx

上传人:b****5 文档编号:7967945 上传时间:2023-01-27 格式:DOCX 页数:33 大小:51.59KB
下载 相关 举报
数据结构习题库汇总.docx_第1页
第1页 / 共33页
数据结构习题库汇总.docx_第2页
第2页 / 共33页
数据结构习题库汇总.docx_第3页
第3页 / 共33页
数据结构习题库汇总.docx_第4页
第4页 / 共33页
数据结构习题库汇总.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

数据结构习题库汇总.docx

《数据结构习题库汇总.docx》由会员分享,可在线阅读,更多相关《数据结构习题库汇总.docx(33页珍藏版)》请在冰豆网上搜索。

数据结构习题库汇总.docx

数据结构习题库汇总

知识点:

01.绪论

02.顺序表

03.链表

04.栈

05.链队列

06.循环队列

07.串

08.数组的顺序表示09.稀疏矩阵10.广义表11.二叉树的基本概念12.二叉树遍历、二叉树性质13.树、树与二叉树的转换

14.赫夫曼树15.图的定义、图的存储

16.图的遍历

17.图的生成树18.静态查找(顺序表的查找、有序表的查找)19.动态查找(二叉排序树、平衡树、B树)

20.哈希查找

21.插入排序(直接插入、折半插入、2路插入、希尔排序)

22.选择排序(简单选择、树形选择、堆排序)23.快速排序、归并排序

101A1

A.

101A1

A.

101B1

(1).数据的逻辑结构是(A)。

数据的组织形式B.数据的存储形式

(2).组成数据的基本单位是(C)。

数据项B.数据类型C.数据元素

C.数据的表示形式D.数据的实现形式

D.数据变量

A.101B2

A.

C.101B2

(3).与顺序存储结构相比,链式存储结构的存储密度(大B.小C.相同D.以上都不对

(4).对于存储同样一组数据元素而言,顺序存储结构比链接结构多占空间

B)。

(D)

B.在顺序结构中查找元素的速度比在链接结构中查找要快

D.顺序结构占用整块空间而链接结构不要求整块空间

A.

101B2

A.

101C2

A.

101D3

A.

102A1

A.

C.

102C2

与链接结构相比,顺序结构便于安排数据元素

(5).下面程序的时间复杂度为(

x=0;

for(i=1;i

X++;

O(Vn)B.O(n2)C.

(6).下面程序的时间复杂度为(

for(i=0;i

A[i][j]=i*j;

O(m2)B.O(n2)C.

(7).下面程序段的执行次数为(

for(i=0;ii;j++)state;

n(n+1)/2B.(n-1)(n+2)

(8).下面程序的时间复杂度为(

for(i=0;i

for(j=0;j

c[i][j]=0;

for(i=0;i

for(k=0;k

O(mxnxt)B.O(m+n+t)C.O(m+nxt)D.O(mxt+n)

(9).顺序表的特点是(B)。

表中元素的个数为表长B.按顺序方式存储数据元素

逻辑结构中相邻的结点在存储结构中仍相邻D.按表中元素的次序存储

(10).设顺序表共有n个元素,用数组elem存储,实现在第i个元素之前插入一个元素e的操

B)。

O

(1)

C)。

D.O(n)

O(mxn)

B)。

/2C.n

A)。

D.O(m+n)

(n+1)/2D.(n-1)(n+2)

作,其主要语句为(D)。

A.FORj=nDOWNTOiDOelem[j]=elem[j+1];elem[i]=e;

B.FORj=iTOnDOelem[j]=elem[j+1];

elem[i]=e;

 

c.

102D2

FORj=iTOnDOelem[j+1]=elem[j];elem[i]=e;

FORj=nDOWNTOielem[i]=e;

(11).顺序表有5个元素,

DOelem|j+1]=elem|j];

所需移动元素的平均次数为(

设在任何位置上插入元素是等概率的,则在该表中插入一个元素时C)o

3B.2

(12).设顺序表有

9B.4.5

(13).设顺序表有元素的存储地址为(

A.236B.239

102D2(14).设顺序表的第的存储地址为(B)o

A.208B.209C.

103D3(15).设p为指向双向循环链表中某个结点的指针,和p->rlink表示,则下列等式中(D)成立。

A.

103A1

A.

103B1

A.

D.

A.102D2

A.102D3

C.2.5

'9个元素,则在第3个元素前插入一个元素所需移动元素的个数为(

C.7D.6

'19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个

B)o

C.

C)o

242D.245

5个元素的存储地址为200,且每个元素占一个存储单元,则第14个元素

210D.214

P所指向的结点的两个链域分别用P->llink

103B1

A.

103C2

p=p->llinkB.p=p->rlinkC.p=p->llink->llink

(16).线性表采用链式存储时,其地址(D)o

必须是连续的B.一定是不连续的C.部分地址必须是连续的

(17).线性表是(A)o

一个有限序列,可以为空B.一个有限序列,不可以为空一个无限序列,不可以为空

(18).链式存储的线性表中的指针指向其(

D.p=p->llink->rlink

D.连续与否均可以

C.一个无限序列,可以为空

B)o

D.物理后继data[linkI欲在

前趋结点B.后继结点C.物理前趋

(19).设在链式存储的线性表中,设结点结构为键步骤为(A)o

A.q->link=p->link;p->link=q;B.p->link=q->link;

C.q->link=p->link;q->link=p;D.p->link=q->link;

103C3(20).设有指针head指向的带表头结点的单链表,现将指针

p结点后插入一个结点q的关

p->link=q;

q->link=p;

p指向的结点插入表中,使之成为

第一个结点,其操作是(A)(其中,p->next、head-〉next分别表示p、head所指结点的链域)。

A.

C.

104A1

A.

C.104B2

A.104B2

A.

104A2

A.

104D3

p->next=head->next;head->next=p;B.p->next=head->next;

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

(21).在栈中,下列说法正确的是(A)o每次插入总是在栈顶,每次删除也总是在栈顶。

每次插入总是在栈底,每次删除总是在栈顶。

(22).

ABC

(23).

DCAB

(24).

设有一个栈,按

B.CBA

设有一个栈,按

B.CDAB

head=p;

B.每次插入总是在栈顶,每次删除总是在栈底。

D.每次插入总是在栈底,每次删除也总是在栈底。

A、B、C的顺序进栈,则下列(C)为不可能的出栈序列。

C.CAB

A、B、C、

C.DBAC

D.ACB

D的顺序进栈,则下列(D)为可能的出栈序列。

D.ACDB

顺序栈的上溢是指(B)o

B.栈满时作进栈运算C.栈空时作退栈运算D.栈空时作进栈运算

(25).顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素

e进栈操作的主要语句为(D)o

栈满时作退栈运算

 

A.s.elem[top]=e;

C.s.top=s.top+1;

104C2(26).设有5个元素A,

入队列,已知其出队次序为

A.2B.3C.4

S.top=s.top+1;B.s.elem[top+1]=e;s.elem[top+1]=e;D.s.top=s.top+1;

B,C,D,E顺序进栈(进栈过程中可以出栈)D,C,E,B,A,则该栈容量必定不小于(

D.5

s.top=s.top+1;s.elem[top]=e;

,出栈后依出栈次序进C)。

104B2(27).设栈S的初始状态为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上

依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是(

A.5,4,3,2,1B.2,1C.2,3D.3,4

104B2(28).在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top为栈顶指针,则当做出栈处理时,

A.top不变B.top=0

104D3(29).向一个栈顶指针为

C)。

A.hs->next=s;B.s->next=hs;hs=s;

D.s->next=hs;hs=hs->next;

105A1(30).在队列中,下列说法正确的是(

A.每次插入总是在队尾,每次删除总是在队头。

C.每次插入总是在队头,每次删除也总是在队头。

top变化为(C)。

C.top--D.top++

hs的链栈中插入一个*s结点时,应执行(B)。

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

A)。

B•每次插入总是在队尾,每次删除也总是在队尾。

D•每次插入总是在队头,每次删除总是在队尾。

q.rear表示队尾指针,结点结构

105D3(31).在带头结点的链队列q中,用q.front表示队头指针,

为datanext,删除链队列的队头结点的主要语句为(

A.s=q.front;q.front->next=s.next;B.s=q.front->next;q.front->next=s.next;

C.s=q.front->next;q.front=s.next;D.s=q;q.front->next=s.next;

106C3(32).循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear

指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则队列满的条件为(D)。

A.sq.front=sq.rearB.sq.front=sq.rear+1C.(sq.front+1)modMAXSIZE=sq.rear

D.(sq.rear+1)modMAXSIZE=sq.front

106C2(33).循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear

指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操

作为(A)O

A.

B.

C.

D.

106B2置,

B)。

sq.

sq.

sq.

sq.

rear=(sq.rear+1)modMAXSIZE;sq.elem[sq.rear]=x;

elem[sq.rear]=x;sq.rear=(sq.rear+1)modMAXSIZE;front=(sq.front+1)modMAXSIZE;sq.elem[sq.front]=x;elem[sq.front]=x;sq.front=sq.front+1;

(34).循环队列sq中,用数组elem[0•-25]存放数据元素,sq.front指示队头元素的前一个位sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元

素个数为(D)o

A.8B.16C.17D.18

106B2(35).设循环队列的元素存放在一维数组Q[0-30]中,队列非空时,front指示队头元素的前一

个位置,rear指示队尾元素。

如果队列中元素的个数为11,front的值为25,则rear应指向(B)元

素。

105A1

A.

105B2

Q[4]B.Q[5]C.Q[14]

(36).队列操作的原则是(A)。

先进先出B.后进先出

(37).一个队列的入列序列是

4321B.1234C.1432

D.Q[15]

C.只能进行插入D.只能进行删除

1234,则队列的输出序列是(B)o

D.3241

 

108C2(38).设6行8列的二维数组A6X8=(aij)按行优先顺序存储,若第一个元素的存储位置为200,

且每个元素占3个存储单元,则元素a54的存储位置为(B)。

A.308B.305C.266D.269

109C2(39).设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,

其存储地址为1,每元素占1个地址空间,则

A13B33C18D40

108A1(40).设二个数组为A[0•-7]、B[-5•-2,

(C)。

A7和35B1和5C8和48

a85的地址为(B)。

3-8],则这两个数组分别能存放的字符的最大个数是

D.1和6

108C3(41).二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标范围从0到4,列下列j的范围从元素(B)的起始地址下同。

AM[2,4]BM[3,4]

108C2(42)设二维数组为M[0•8,

i的

0到5。

M按行存储时元素M[3,5]的起始地址与M按列存储时

C.M[3,5]D.M[4,4]

0-10],每个元素占2L个存储单元,以行序为主序存储,第

个元素的存储位置为P。

存储位置为P+50L的元素为(A)。

AM[2,3]BM[2,2]CM[3,3]DM[3,4]

108C2(43).设二维数组A的维数界偶定义为[1••8,0•-储单元,以行序为主序存储方式下,某数据元素的地址为该元素的存储地址为(D)。

ALOC+28LBLOC+36LCLOC+50L

10],起始地址为LOC,每个元素占2L个存

LOC+50L,则在列序为主序存储方式下,

D.LOC+52L

109B2(44).数组A[1-40,1-30]采用三元组表示,设数组元素与下标均为整型,则在非零元素个数小于(D)时,才能节省存储空间。

A1200B401C399D400

108A1(45)一维数组通常采用顺序存储结构,这是因为(

C)。

A一维数组是一种线性数据结构B一维数组是一种动态数据结构

C一旦建立了数组,则数组中的数据元素之间的关系不再变动

109A1(46)对稀疏矩阵进行压缩存储的目的是(B)。

A方便存储B节省存储空间C方便运算

108D3(47).设二维数组a[0-5,0-6]按行存储,每个元素占个存储单元,起始地址不变,则元素

A

108B2

A

C

107A1

A

D

107B2

A

C

107B2

D.一维数组只能采用顺序存储结构

D.节省运算时间d个存储单元,如果每个元素改为2da[2,6]的存储地址将要增加(A)个存储单元。

20dB.21dC.38dD.39d

48).一维数组与线性表的区别是(A)。

前者长度固定,后者长度可变B.后者长度固定,前者长度可变

两者长度均固定D.两者长度均可变

49).下列关于串的叙述中,不正确的是(

B)。

串是字符的有限序列B.空串是由空格构成的串串既可以采用顺序存储,也可以采用链式存储

50).以下论断正确的是(”是空串,“”是空白串something”<“Somethig”51).字符串“VARTYPE

A)。

C.模式匹配是串的一种重要运算

B.“BEIJING”是“BEIJING”的子串D.”BIT”=”BITE”

unsignedint”若采用动态分配的顺序存储方法需要(C)个字节(假

设每种数据均占用2个字节)。

A.38B.动态产生,视情况而定C.40D.42

111A1(52).由3个结点可以构造出(A)种不同形态的有向树。

 

A.

111A1

A.

2B.3C.4D.5

(53).下列树的度为(B)。

2B.3C.5

112C2

A.

111B2

(54).含10个结点的二叉树中,度为

3B.4

(55).对一棵有

2的结点有(A)个。

C.5D.6

100个结点的完全二叉树按层编号,则编号为

49的结点,它的左孩子的编号为

(A)。

A.

112B2

A.

112C3

点,

A.

112C2

98B.99

(56).一棵深度为

256B.255

C.97D.50

8(根的层次号为1)的满二叉树有(B)

C.128

(57).设二叉树根结点的层数为则其结点数至少为(B)。

hB.2h-1C.2h

D.127

1,若一棵高(深)度为h

D.2h+1

(58).对下列二叉树进行先根次序遍历,所得次序为(

A)。

个结点。

的二叉树只有度为0与度为2的结

A.

112D3

A.

112A1

ABCDEFB.ADCBFEC.BCDAFED.

(59).一棵二叉树的前(先)序序列为ABCDEFG,

CBDAFEGB.DCBAEFGC.CDBAGEF

(60).若先序遍历二叉树的结果为结点序列A,B,

DCBFEA

则它的中序序列不可能为(C)。

D.BDCAFGE

C,则有(C)棵不同的二叉树可以得到这

一结果。

111B2

A.

112C2

A.114B2

A.

C.

3B.4C.5

(61).具有n个结点的二叉树,

nB.n-1C.n+1

D.6

有(B)条边。

D.2n

(62).在具有n个结点的二叉树的二叉链表表示中,

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

(63).对哈夫曼树,下列说法错误的是(

2n个孩子指针域中,只用到(B)个域。

B)。

哈夫曼树是一类带树路径长度最短的树。

B.给出一组数,构造的哈夫曼树唯一。

给出一组数,构造的哈夫曼树的带树路径长度不变。

哈夫曼树的带权路径长度为每个叶子的路径长度与该叶子权值乘积之和。

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

D.

111D3

(B)。

15B.16C.17

(65).假定一棵三叉树的结点数为

3B.4C.5

(66).由带权为9,2,5,

23B.37C.

A.

113C3

A.

114B2

A.

112C2(67).二叉树的先序遍历为

A.EB.FC.G

D.47

50,则它的最小高度为(C)。

D.6

7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为(

46D.44

EFHIGJK,中序遍历为HFIEJKG,则该二叉树根的右子树的根是

D.H

D)。

(C)。

111A1(68).在完全二叉树中,若一个结点是叶结点,则它没有(

C)。

 

A.左孩子结点B.右孩子结点C.左孩子和右孩子结点D.左孩子结点,右孩子结点和兄弟结点

113B2(69).(B)二叉树,可以唯一地转化成一棵一般树。

A.根结点无左孩子

111C2

A.

112C2

A.

113A1

A.

B.根结点无右孩子C.根据结点有两个孩子

(7°).具有65个结点的完全二叉树其深度为(

8B.7C.6D.5

(71).某二叉树的先序序列和后序序列正好相反,则该二叉树一定是(B)的二叉树。

空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子

(72).下面叙述中,不正确的是(

D.没有一棵

C)。

B)。

线性表中除第一个元素和最后一个元素外,其他每个元素都有且仅有一个直接前驱和一个直接后继树中有且仅有一个结点没有前驱

B.

C.环形队列中任何一个元素都有且仅有一个直接前驱和一个直接后继

D.在树中,一个结点可以有多个直接后继

114B2

A.

(73).有m个叶子结点的哈夫曼树,其结点总数是(

2mB.2m+1

C.

2m-1

C)o

D.2(m+1)

115A1

(74).设图的邻接矩阵为

「0

°

1

1,则该图有(A)个顶点。

C.6

115B2

(75).设图的邻接矩阵为

「°

,则该图为(A)。

A.

115B2

有向图B.无向图

(76).设图的邻接链表如下图所示,

V1

V2

V3

V4

2

4

C.1°

1

2

3

41A

3

1—

3

—h

41A

2

强连通图D.完全图

则该图有(B)条边。

A.4B.

115C2(77).设有

A.5B.

D.2°

5

6个结点的无向图,该图至少应有(B)条边才能确保是一个连通图。

6C.7D.8

116D3(78).已知一有向图的邻接表存储结构如下,则根据有向图的深度优先遍历算法,从顶点出发,不能得到的顶点序列是(

V1

C)o

A.V1V2V3V5V4

V1V4V3V5V2

 

A•ABCDEFGH

115B1

(80)•

B•ABDHECFG

A•

118B2

A•

118B2

n

(81)•n-1

(82)•

C•ABEDHCFGD•ABCFGEDH

对一个具有n个顶点的图,采用邻接矩阵表示则该矩阵的大小为(

222

B•(n-1)C•(n+1)D•n

对含n个记录的顺序表进行顺序查找,在最坏情况下需要比较

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

当前位置:首页 > 农林牧渔 > 林学

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

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