必看!!!!!数据结构期末复习题及部分答案解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

0一.是非题1.数据结构(应该是抽象数据类型)可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系,P是对D的基本操作集。(f)2简单地说,数据结构是带有结构的数据元素的集合。(t)3判断带头结点的非空循环单链表(头指针为L)中指针p所指结点是最后一个元素结点的条件是:p-next==L。(t)4线性表的链式存储结构具有可直接存取?表中任一元素的优点。(f)5线性表的顺序存储结构优于链式存储结构。(f)6.在单链表P指针所指结点之后插入S结点的操作是:P-next=S;S-next=P-next;。(顺序弄反了)(f)7对于插入、删除而言,线性表的链式存储优于顺序存储。(t)8.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(f)9.栈和队列是操作上受限制的线性表。(t)10.队列是与线性表完全不同的一种数据结构。栈和队列是操作上受限制的线性表(f)11.队列是一种操作受限的线性表,凡对数据元素的操作仅限一端进行。对列不是(f)12.栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。(f)13.栈是限定仅在表头进行插入和表尾进行删除运算的线性表。(f)14.二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。(f)15二叉树是一棵结点的度最大为二的树二叉树和树相互独立。(f)16赫夫曼树中结点个数一定是奇数。(t)17在二叉树的中序遍历序列中,任意一个结点均处在其左孩子结点的后面。(t)18假设B是一棵树,B′是对应的二叉树。则B的后根遍历相当于B′的后序遍历后根遍历相当于中序遍历。(f)19.通常,二叉树的第i层上有2i-1个结点。应该为1~2i-1个(f)20.中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。(t)21二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。(t)22由树结点的先根序列和后根序列可以唯一地确定一棵树。(t)23邻接多重表可以用以表示无向图,也可用以表示有向图。只能表示无向图,有向图用十字链表(f)24可从任意有向图中得到关于所有顶点的拓扑次序带环图没有。(f)25有向图的十字链表是将邻接表和逆邻接表合二为一的链表表示形式。(t)26关键路径是AOE网中源点到汇点的最短路径。(f)27连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。(f)28一个无向图的连通分量是其极大的连通子图。(t)29十字链表可以表示无向图,也可用以表示有向图。(f)30邻接表可以表示有向图,也可以表示无向图。(t)31.二叉排序树的平均查找长度为O(logn)。(t)32.二叉排序树的最大查找长度与(LOG2N)同阶。(f)33选用好的HASH函数可避免冲突。哈希函数有几种处理冲突的方法(f)34折半查找不适用于有序链表的查找。(t)35.对于目前所知的排序方法,快速排序具有最好的平均性能。(t)36对于任何待排序序列来说,快速排序均快于冒泡排序。(f)37在最坏情况下,堆排序的时间性能是O(nlogn),比快速排序好(t)38快速排序具有最好的平均时间性能,它在任何时候的时间复杂度都是O(nlogn)。(f)39.字符串是数据对象特定的线性表。(t)40.空串与空格串是相同的。(f)41.对于一棵m阶的B-树.树中每个结点至多有m个关键字.除根之外的所有非终端结点至少有┌m/2┐个关键字。(f)42.当二叉排序树是一棵平衡二叉树时,其平均查找长度为O(log2n)。(t)43.广义表的表头和表尾都是广义表。(f)44二维数组是其数据元素为线性表的线性表。(t)选择题。1从逻辑上可以把数据结构分成(c)。A.动态结构和静态结构B.顺序组织和链接组织C.线性结构和非线性结构D.基本类型和组合类型2线性表L在(b)情况下适于使用链表结构实现。A.不需修改L的结构B.需不断对L进行删除、插入C.需经常修改L中结点值D.L中含有大量结点3带头结点的单链表L为空的判断条件是b。带头结点的循环链表L为空的判断条件是c。A.L==nullB.L-next==nullC.L-next==LD.L!=null4若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至表尾。以下为据此策略编写的算法,请选择适当的内容,完成此功能。顺序表的存储结构为:typedefstruct{ElemType*elem;//数据元素存储空间,0号单元作监视哨intlength;//表长度}SSTable;intsearch_seq(SSTableST,KeyTypekey){//在顺序表ST中顺序查找关键字等于key的数据元素。//若找到,则将该元素与其后继交换位置,并返回其在表中的位置,否则为0。ST.elem[0].key=key;i=ST.length;while(ST.elem[i].key!=key)f;if(G){ST.elem[i]←→ST.elem[i+1];e;}returni;}A.i0B.i=0C.iST.lengthD.i=ST.lengthE.i++F.i--G.A和C同时满足H.B和D同时满足5若入栈顺序为A、B、C、D、E,则下列(d)出栈序列是不可能的。A.A、B、C、D、EB.B、C、D、A、EC.C、D、B、E、AD.D、E、C、A、B6递归程序可借助于(c)转化为非递归程序。a.线性表b.队列c:栈d.数组7在下列数据结构中(c)具有先进先出(FIFO)特性,(b)具有先进后出(FILO)特性。a.线性表b.栈c.队列d.广义表8若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到(e)的序列。a:1,2,3b:1,3,2c:2,1,3d:2,3,1e:3,1,2f:3,2,19在计算递归函数时,如不用递归过程,应借助于(b)这种数据结构。A.线性表B.栈C.队列D.双向队列10若带头结点的链表只设尾结点指针。下列选择中(c)最适用于队列。A)单链表B)双向链表C循环单链表D)双向循环链表11栈和队列的一个共同点是(c)。A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点12循环队列用数组A[0..m-1]存放其元素值,设头尾指针分别为front和rear,则当前队列中的元素个数是(c)。A.rear-front-1B.Rear-front+1C.(rear-front+m)%mD.Rear-front13如下关于串的陈述中,正确的是(a,c)。A.串是数据元素类型特殊的线性表B.串中的元素是字母C.串中若干个元素构成的子序列称为子串D.空串即为空格串14对字符串s=’data-structure’执行操作replace(s,substring(s,6,8),’bas’)的结果是(b)。a:‘database’b:‘data-base’c:‘bas’d:‘data-basucture’15设有二维数组A5x7,每一元素用相邻的4个字节存储,存储器按字节编址.已知A的起始地址为100。则按行存储时,元素A06的第一个字节的地址是(d)按列存储时,元素A06的第一个字节的地址是(a)a:220b:200c:140d:12416对广义表A=((a,(b)),(c,()),d)执行操作gettail(gethead(gettail(A)))的结果是:(b)。a:()b:(())c:dd:(d)17假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为7,19,22,6,32,14。若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左至右的结合,新生成的二叉树总是插入在最右),则频率为7的字符编码是(g),频率为32的字符编码是(c)。a:00b:01c:10d:11e:011f:110g:1110h:111118对二叉排序树(c)可得到有序序列。a:按层遍历b:前序遍历c:中序遍历d:后序遍历19设一棵二叉树BT的存储结构如下:12345678lchild23006000dataABCDEFGHrchild05408700其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。则该二叉树的高度为(d);第3层有(a)个结点(根结点为第1层)。A.2B.3C.4D.520先序遍历图示二叉树可得到(a)的序列。(A)/\(B)(C)/\\(H)(D)(G)/\(E)(F)\(I)a)ABHDEFICGb)HBEDFIACGc)HEIFDBGCA21在有n个结点的二叉树的二叉链表表示中,空指针数为n+1;非空指针树为n-1;(b)。a.不定b.n+1c.nd.n-122若某二叉树有20个叶子结点,有20个结点仅有一个孩子,则该二叉树的总结点数是(c)。度为2的节点n2=n0–1;其中no表示度为0的节点A.40B.55C.59D.6123已知某二叉树的先序遍历次序为abcdefg中序遍历次序为badcgfe,则该二叉树的后序遍历次序为(c)。层次遍历次序为(a)。a:abcdefgb:cdebgfac:bdgfecad:edcgfba.24图示的三棵二叉树中(c)为最优二叉树。A)B)C)ca27abcddb752445abcd752425已知某二叉树的后序遍历和中序遍历次序分别为DBFGECA和BDACFEG。则其先序遍历次序为(b),层次遍历次序为(a)。a:abcdefgb:abdcefgc:abcdfegd:abcdegf26已知某树的先根遍历次序为abcdefg后根遍历次序为cdebgfa。若将该树转换为二叉树,其后序遍历次序为(d)。a:abcdefgb:cdebgfac:cdegbfad:edcgfba27设x和y是二叉树中的任意两个结点,若在先根序列中x在y之前,而在后根序列中x在y之后,则x和y的关系是(c)。A.x是y的左兄弟B.x是y的右兄弟C.x是y的祖先D.x是y的子孙28用三叉链表作二叉树的存储结构,当二叉树中有n个结点时,有(d)个空指针。A.n-1B.nC.n+1D.n+229对一棵完全二叉树进行层序编号。则编号为n的结点若存在右孩子,其位序是(d)。编号为n的结点若存在双亲,其位置是(a)。a:n/2b:2nc:2n-1d:2n+1e:nf:2(n+1)30设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,则与森林F对应的二叉树根结点的右子树上的结点个数是(d)。A.m1B.m1+m2C.m3D.m2+m331下列二叉树中,(a)可用于实现符号不等长高效编码。a:最优二叉树b:次优查找树c:二叉平衡树d:二叉排序树32邻接表存储结构下图的深度优先遍历算法类似于二叉树的(a)遍历。A.先根B.中根C.后根D.层次33设无向图G=(V,E)和G’=(V’,E’),若G’是G的生成树,则下面不正确的说法是(b)。A.G’是G的子图B.G’是G的连通分量(极大连通子图称为连通分量)C.G’是G的无环子图D.G’是G的极小连通子图且V’=V34任何一个连通图的最小生成树(b)。最小生成树其实是最小权重生成树的简称A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在efef35深度优先遍历图使用了数据结构(b),而广度优先遍历图使用了数据结构(c)。A)数组B)栈C)队列D)线性表36已知某有向图的邻接表存储结构如图所示。根据存储结构依教材中的算法其深度优先遍历次序为(d)。广度优先遍历此序为(c)。各强连通分量的顶点集为(h)。有向图的极大强连通子图,称为强连通分量a:abcde.b:edcba.c:ecdab.d:ecadb.e:abc及edf:bc及aedg:ab及cedh:ac及bed0E21∧1D034∧2C43B120∧4A2∧37下列查找方法中(a)适用于查找单链表。A)顺序查找B)折半查找C)分块查找D)hash查找38下列算法中(c普利姆算法)

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功