《数据结构与算法》张晓莉习题选择题判断题76542.docx

上传人:b****5 文档编号:7574041 上传时间:2023-05-11 格式:DOCX 页数:11 大小:29.04KB
下载 相关 举报
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第1页
第1页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第2页
第2页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第3页
第3页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第4页
第4页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第5页
第5页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第6页
第6页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第7页
第7页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第8页
第8页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第9页
第9页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第10页
第10页 / 共11页
《数据结构与算法》张晓莉习题选择题判断题76542.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《数据结构与算法》张晓莉习题选择题判断题76542.docx

《《数据结构与算法》张晓莉习题选择题判断题76542.docx》由会员分享,可在线阅读,更多相关《《数据结构与算法》张晓莉习题选择题判断题76542.docx(11页珍藏版)》请在冰点文库上搜索。

《数据结构与算法》张晓莉习题选择题判断题76542.docx

《数据结构与算法》张晓莉习题选择题判断题76542

第一章绪论

1.从逻辑上可以把数据结构分为(C)两大类。

A.动态结构、静态结构B.顺序结构、链式结构

C.线性结构、非线性结构D.初等结构、构造型结构

2.在下面的程序段中,对x的赋值语句的频度为(C)。

For(k=1;k<=n;k++)

For(j=1;j<=n;j++)

x=x+1;

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

3.采用顺序存储结构表示数据时,相邻的数据元素的存储地址(A)。

A.一定连续B.一定不连续

C.不一定连续D.部分连续、部分不连续

4.下面关于算法的说法,正确的是(D)。

A.算法的时间复杂度一般与算法的空间复杂度成正比

B.解决某问题的算法可能有多种,但肯定采用相同的数据结构

C.算法的可行性是指算法的指令不能有二义性

D.同一个算法,实现语言的级别越高,执行效率就越低

5.在发生非法操作时,算法能够作出适当处理的特性称为(B)。

A.正确性B.健壮性C.可读性D.可移植性

第二章线性表

1.线性表是(A)。

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

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

2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的(A)个元素。

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

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

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

C.一定是不连续的D.连续与否均可以

4.用链表表示线性表的优点是(C)。

A.便于随机存取B.花费的存储空间较顺序存储少

C.便于插入和删除D.数据元素的物理顺序与逻辑顺序相同

5.链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用(C)存储方式最节省运算时间。

A.单链表B.双链表C.单循环链表D.带头结点的双向循环链表

6.下面关于线性表的叙述,错误的是(B)。

A.线性表采用顺序存储,必须占用一片地址连续的单元

B.线性表采用顺序存储,便于进行插入和删除操作

C.线性表采用链式存储,不必占用一片地址连续的单元

D.线性表采用链式存储,不便于进行插入和删除操作

7.单链表中,增加一个头结点的目的是为了(C)。

A.使单链表至少有一个结点B.标识表结点中首结点的位置

C.方便运算的实现D.说明单链表是线性表的链式存储

8.在单链表指针为p的结点之后插入指针为s结点,正确的操作是(B)。

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

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

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

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

9.在双向链表存储结构中,删除p所指的结点时须修改指针(A)。

A.(p->prior)->next=p->next;(p->next)->prior=p->prior;

B.p->prior=(p->prior)->prior;(p->prior)->next=p;

C.(p->next)->prior=p;p->rlink=(p->next)->next;

D.p->next=(p->prior)->prior;p->prior=(p->next)->next

10.完成在双向循环链表结点p之后插入s的操作是(D)。

A.p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;

B.p->next->prior=s;p->next=s;s->prior=p;s->next=p->next;

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

D.s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;

11.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用(B)存储方式最节省运算时间。

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

12.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表

C.双向链表D.仅有尾指针的单循环链表

第三章栈和队列

1.向一个栈顶指针为top的链栈中插入一个p所指结点时,其操作步骤为(C)。

A.top->next=p;B.p->next=top->next;top->next=p;

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

2.对于栈操作数据的原则是(B)。

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

C.后进后出D.不分顺序

3.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若pn是n,则Pi为(D)。

A.iB.n-iC.n-i+lD.不确定

4.表达式a*(b-c)+d的后缀表达式是(B)。

A.abcd*-+B.abc-*d+

C.abc*-d+D.+-*abcd

5.采用顺序存储的两个栈的共享空间S[1..m],用top[i]代表第i个栈(i=1,2)的栈顶,栈1的底在S[1],栈2的底在S[m],则栈满的条件是(B)。

A.top[2]-top[1]=0B.top[1]+1=top[2]

C.top[1]+top[2]=mD.top[1]=top[2]

6.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是(C)。

A.edcbaB.decbaC.dceabD.abcde

7.在一个链队列中,若f、r分别为队首、队尾指针,则插入p所指结点的操作为(B)。

A.f->next=p;f=pB.r->next=p;r=p

C.p->next=r;r=pD.p->next=f;f=p

8.用不带头结点的单链表存储队列时,在进行删除运算时(D)。

A.仅修改头指针B.仅修改尾指针

C.头、尾指针都要修改D.头、尾指针可能都要修改

9.递归过程或函数调用时,处理参数及返回地址,要用一种称为(C)的数据结构。

A.队列B.静态链表C.栈D.顺序表

10.栈和队都是(C)。

A.顺序存储的线性结构B.链式存储的非线性结构

C.限制存取点的线性结构D.限制存取点的非线性结构

第四章字符串及线性结构的扩展

1.下面关于串的叙述,错误的是(C)。

A.串是字符的有限序列

B.串既可以采用顺序存储,也可以采用链式存储

C.空串是由空格构成的串

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

2.串的长度是指(B)。

A.串中所含不同字母的个数B.串中所含字符的个数

C.串中所含不同字符的个数D.串中所含非空格字符的个数

3.

4.二维数组M的成员是6个字符(每个字符占一个存储单元,即一个字节)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要

(1)(D)个字节;M的第8列和第5行共占

(2)(A)个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的(3)(C)元素的起始地址一致。

(1)A.90B.180C.240D.540

(2)A.108B.114C.54D.60

(3)A.M[8][5]B.M[3][10]C.M[5][8]D.M[0][9]

5.数组A中,每个元素的存储占3个单元,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元个数是

(1)(C);若该数组按行存放,元素A[8][5]的起始地址为

(2)(D);若该数组按列存放,元素A[8][5]的起始地址为(3)(B)。

(1)A.80B.100C.240D.270

(2)A.SA+141B.SA+144C.SA+222D.SA+225

(3)A.SA+141B.SA+180C.SA+117D.SA+225

6.稀疏矩阵采用压缩存储,一般有(C)两种方法。

A.二维数组和三维数组B.三元组和散列

C.三元组表和十字链表D.散列和十字链表

第五章树结构

1.下列说法正确的是(C)。

A.二叉树中任何一个结点的度都为2B.二叉树的度为2

C.一棵二叉树的度可小于2D.任何一棵二叉树中至少有一个结点的度为2

2.以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为(C)。

A.2n-1B.n-1C.n+lD.2n+l

3.线索化二叉树中,某结点*p没有孩子的充要条件是(B)。

A.p->lchild=NULLB.p->ltag=1且p->rtag=1

C.p->ltag=0D.p->lchild=NULL且p->ltag=1

4.如果结点A有3个兄弟,而且B是A的双亲,则B的度是(B)。

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

5.某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号值为1,2,…,n,且有如下性质:

T中任意结点v,其编号等于左子树上的最小编号减1,而v的右子树的结点中,其最小编号等于v左子树上结点的最大编号加1,这是按(B)编号的。

A.中序遍历序列B.先序遍历序列C.后序遍历序列D.层次顺序

6.设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端结点,B中右指针域为空的结点有(C)个。

A.n-1B.nC.n+lD.n+2

7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是(C)。

A.500B.501C.490D.495

8.设森林F中有3棵树,第1、第2和第3棵树的结点个数分别为N1,N2和N3。

与森林F对应的二叉树根结点的右子树上的结点个数是(D)。

A.N1B.N1+N2C.N2D.N2+N3

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

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

10.若一棵二叉树的后序遍历序列为dabec,中序遍历序列为debac,则先序遍历序列为(D)。

A.cbedB.decabC.deabcD.cedba

11.若一棵二叉树的先序遍历序列为abdgcefh,中序遍历的序列为dgbaechf,则后序遍历的结果为(D)。

A.gcefhaB.gdbecfhaC.bdgaechfD.gdbehfca

12.一棵非空二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足(B)。

A.所有的结点均无左孩子B.所有的结点均无右孩子

C.只有一个叶子结点D.是一棵满二叉树

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

A.2hB.2h-1C.2h+1D.h+1

14.一个具有567个结点的二叉树的高h为(D)。

A.9B.10C.9~566之间D.10~567之间

第六章图结构

1.n条边的无向图的邻接表的存储中,边结点的个数有(A)。

A.nB.2nC.n/2D.n×n

2.n条边的无向图的邻接多重表的存储中,边结点的个数有(A)。

A.nB.2nC.n/2D.n×n

3.下列哪一种图的邻接矩阵是对称矩阵(B)

A.有向图B.无向图C.AOV网D.AOE网

4.最短路径的生成算法可用(C)。

A.普利姆算法B.克鲁斯卡尔算法C.迪杰斯特拉算法D.哈夫曼算法

5.一个无向图的邻接表如下图所示。

(1)从顶点v0出发进行深度优先搜索,经历的结点顺序为(B)。

A.v0,v3,v2,v1B.v0,v1,v2,v3

C.v0,v2,v1,v3D.v0,v1,v3,v2

(2)从顶点v0出发进行广度优先搜索,经历的结点顺序为(D)。

A.v0,v3,v2,v1B.v0,v1,v2,v3

C.v0,v2,v1,v3D.v0,v1,v3,v2

6.设有向图n个顶点和e条边,进行拓扑排序时,总的计算时间为(D)。

A.O(nlog2e)B.O(e×n)C.O(elog2n)D.O(n+e)

7.含有n个顶点e条边的无向连通图,利用Kruskal算法生成最小生成树,其时间复杂度为(A)。

A.O(elog2e)B.O(e×n)C.O(elog2n)D.O(nlog2n)

8.关键路径是事件结点网络中(A)。

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

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

9.下面关于求关键路径的说法,不正确的是(C)。

A.求关键路径是以拓扑排序为基础的

B.一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同

C.一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差

D.关键活动一定位于关键路径上

10.有10个结点的无向图至少有(B)条边才能确保其是连通图。

A.8B.9C.10D.11

第七章查找

1.静态查找表与动态查找表的根本区别在于(B)。

A.它们的逻辑结构不一样B.施加在其上的操作不一样

C.所包含的数据元素类型不一样D.存储实现不一样

2.在表长为n的顺序表上实施顺序查找,在查找不成功时与关键字比较的次数为(A)。

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

 

3.顺序查找适用于存储结构为(C)的线性表。

A.散列存储B.压缩存储

C.顺序存储或链式存储D.索引存储

4.用顺序查找法对具有n个结点的线性表查找一个结点的时间复杂度为(C)。

A.O(log2n2)B.O(nlog2n)C.O(n)D.O(log2n)

5.适用于折半查找的表的存储方式及元素排列要求为(D)。

A.链接方式存储,元素无序

B.链接方式存储,元素有序

C.顺序方式存储,元素无序

D.顺序方式存储,元素有序

6.有一个长度为12的有序表,按折半查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数为(B)。

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

7.在有序表{1,3,9,12,32,41,62,75,77,82,95,100}上进行折半查找关键字为82的数据元素需要比较(C)次。

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

8.设散列表长为14,散列函数为H(key)=key%11。

当前表中已有4个结点:

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

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

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

9.散列函数有一个共同的性质,即函数值应当以(D)取其值域的每个值。

A.最大概率B.最小概率C.平均概率D.同等概率

10.假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行(D)次探测。

A.k-1次B.k次C.k+1次D.k(k+1)/2次

11.在散列函数H(k)=k%m中,一般来讲,m应取(C)。

A.奇数B.偶数C.素数D.充分大的数

12.在采用线性探测法处理冲突所构成的散列表上进行查找,可能要探测多个位置,在查找成功的情况下,所探测到的这些位置上的键值(B)。

A.一定是同义词B.一定不是同义词

C.都相同D.不一定都是同义词

 

第八章排序

1.在待排序的元素序列基本有序的前提下,效率最高的排序方法是(A)。

A.插入排序B.选择排序C.快速排序D.归并排序

2.设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用(C)排序法。

A.冒泡排序B.快速排序C.堆排序D.基数排序

3.具有12个记录的序列,采用冒泡排序最少的比较次数是(C)。

A.1B.144C.11D.66

4.下列四种排序方法中,要求内存容量最大的是(D)。

A.插入排序B.选择排序C.快速排序D.归并排序

5.初始序列已经按键值有序时,用直接插入算法进行排序,需要比较的次数为(D)。

A.n2B.nlog2nC.log2nD.n-1

6.下列四种排序方法,在排序过程中,关键码比较的次数与记录的初始排列顺序无关的是(C)。

A.直接插入排序和快速排序B.快速排序和归并排序

C.直接选择排序和归并排序D.直接插入排序和归并排序

7.一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为(B)。

A.79,46,56,38,40,84B.84,79,56,38,40,46

C.84,79,56,46,40,38D.84,56,79,40,46,38

8.一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为(C)。

A.38,40,46,56,79,84B.40,38,46,79,56,84

C.40,38,46,56,79,84D.40,38,46,84,56,79

9.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下:

(1)25,84,21,47,15,27,68,35,20

(2)20,15,21,25,47,27,68,35,84

(3)15,20,21,25,35,27,47,68,84

(4)15,20,21,25,27,35,47,68,84

则所采用的排序方法是(D)。

A.选择排序B.希尔排序C.归并排序D.快速排序

10.快速排序方法在(C)情况下最不利于发挥其长处。

A.要排序的数据量太大B.要排序的数据中含有多个相同值

C.要排序的数据已基本有序D.要排序的数据个数为奇数

 

第一章绪论

1.数据的逻辑结构是指数据的各个数据项之间的逻辑关系。

2.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

3.数据的逻辑结构说明数据元素之间的次序关系,它依赖于数据的存储结构。

4.算法优劣与描述算法的语言无关,但与所用计算机的性能有关。

5.算法必须有输出,但可以没有输入。

第二章线性表

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

2.顺序存储的线性表可以按序号随机存取。

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

7.线性表的链式存储结构优于顺序存储结构。

8.在线性表的顺序存储结构中,插入和删除时移动元素的个数与该元素的位置有关。

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

11.静态链表既有顺序存储的优点,又有动态链表的优点。

所以它存取表中第i个元素的时间与i无关。

12.线性表的特点是每个元素都有一个前驱和一个后继。

第三章栈和队列

第四章字符串及线性结构的扩展

第五章树结构

1.二叉树是树的特殊形式。

2.由树转换成二叉树,其根结点的右子树总是空的。

20.满二叉树一定是完全二叉树,反之未必。

第六章图结构

第七章查找

第八章排序

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2