大学数据结构题目.docx
- 文档编号:10015812
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:24
- 大小:105.07KB
大学数据结构题目.docx
《大学数据结构题目.docx》由会员分享,可在线阅读,更多相关《大学数据结构题目.docx(24页珍藏版)》请在冰豆网上搜索。
大学数据结构题目
20XX年复习资料
大
学
复
习
资
料
专业:
班级:
科目老师:
日期:
一.是非题
1.数据结构可用三元式表示(D,S,P)。
其中:
D是数据对象,S是D上的关系,P是对D的基本操作集。
2简单地说,数据结构是带有结构的数据元素的集合。
3判断带头结点的非空循环单链表(头指针为L)中指针p所指结点是最后一个元素结点的条件是:
p->next==L。
4线性表的链式存储结构具有可直接存取表中任一元素的优点。
5线性表的顺序存储结构优于链式存储结构。
6.在单链表P指针所指结点之后插入S结点的操作是:
P->next=S;S->next=P->next;。
7对于插入、删除而言,线性表的链式存储优于顺序存储。
8.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
9.对于插入、删除而言,线性表的链式存储优于顺序存储。
20XXXX线性表的顺序存储结构具有可直接存取表中任一元素的优点。
20XXXX.栈和队列是操作上受限制的线性表。
20XXXX.队列是与线性表完全不同的一种数据结构。
20XXXX.队列是一种操作受限的线性表,凡对数据元素的操作仅限一端进行。
20XXXX.栈和队列也是线性表。
如果需要,可对它们中的任一元素进行操作。
20XXXX.栈是限定仅在表头进行插入和表尾进行删除运算的线性表。
16队列是一种运算受限的线性表
1.二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。
2.二叉树是一棵结点的度最大为二的树。
3.赫夫曼树中结点个数一定是奇数。
4在二叉树的中序遍历序列中,任意一个结点均处在其左孩子结点的后面。
5.假设B是一棵树,B′是对应的二叉树。
则B的后根遍历相当于B′的后序遍历。
6.通常,二叉树的第i层上有2i-1个结点。
7.中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。
8二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,
二叉树是树的特殊情形。
9二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。
10由树结点的先根序列和后根序列可以唯一地确定一棵树。
1邻接多重表可以用以表示无向图,也可用以表示有向图。
2可从任意有向图中得到关于所有顶点的拓扑次序。
3有向图的十字链表是将邻接表和逆邻接表合二为一的链表表示形式。
4.关键路径是AOE网中源点到汇点的最短路径。
5.连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。
6.一个无向图的连通分量是其极大的连通子图。
7.连通图的生成树是一个包含图G所有n个顶点和任意n-1条边的子图。
8.十字链表可以表示无向图,也可用以表示有向图。
9.邻接表可以表示有向图,也可以表示无向图。
()
1.二叉排序树的平均查找长度为O(logn)。
2.二叉排序树的最大查找长度与(LOG2N)同阶。
3选用好的HASH函数可避免冲突。
4折半查找不适用于有序链表的查找。
5一般来说,折半查找不适用于有序链表的查找。
6二叉排序树的查找和折半查找的时间性能相同。
1.对于目前所知的排序方法,快速排序具有最好的平均性能。
2对于任何待排序序列来说,快速排序均快于冒泡排序。
3在最坏情况下,堆排序的时间性能是O(nlogn),比快速排序好
4快速排序具有最好的平均时间性能,它在任何时候的时间复杂度都是O(nlogn)。
选择题。
从逻辑上可以把数据结构分成()。
A.动态结构和静态结构B.顺序组织和链接组织
C.线性结构和非线性结构D.基本类型和组合类型
下列程序段的时间复杂度为()。
s=i=0;
while(s<=n)
{i++;
s+=i;
}A.O
(1)B.O(
)C.O(n)D.O(n2)
线性表L在()情况下适于使用链表结构实现。
A.不需修改L的结构B.需不断对L进行删除、插入
C.需经常修改L中结点值D.L中含有大量结点
带头结点的单链表L为空的判断条件是。
带头结点的循环链表L为空的判断条件是。
A.L==nullB.L->next==null
C.L->next==LD.L!
=null
若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:
若找到指定
的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至
表尾。
以下为据此策略编写的算法,请选择适当的内容,完成此功能。
顺序表的存储结构为:
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);
if()
{ST.elem[i]←→ST.elem[i+1];
;
}
returni;
}
A.i>0B.i>=0C.i E.i++F.i--G.A和C同时满足H.B和D同时满足 若入栈顺序为A、B、C、D、E,则下列()出栈序列是不可能的。 A.A、B、C、D、E B.B、C、D、A、E C.C、D、B、E、A D.D、E、C、A、B 递归程序可借助于()转化为非递归程序。 a.线性表b.队列c: 栈d.数组 在下列数据结构中()具有先进先出(FIFO)特性, ()具有先进后出(FILO)特性。 a.线性表b.栈c.队列d.广义表 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到()的序列。 a: 1,2,3b: 1,3,2c: 2,1,3d: 2,3,1e: 3,1,2f: 3,2,1 在下列数据结构中()具有先进先出(FIFO)特性, ()具有先进后出(FILO)特性。 a: 线性表b: 栈c: 队列d: 广义表 在计算递归函数时,如不用递归过程,应借助于 (2)这种数据结构。 A.线性表B.栈C.队列D.双向队列 若带头结点的链表只设尾结点指针。 下列选择中()最适用于队列。 A)单链表B)双向链表C循环单链表D)双向循环链表 栈和队列的一个共同点是()。 A.都是先进先出B.都是先进后出 C.只允许在端点处插入和删除元素D.没有共同点 循环队列用数组A[0..m-1]存放其元素值,设头尾指针分别为front和rear,则当前队列中的元素个数是()。 A.rear-front-1B.Rear-front+1 C.(rear-front+m)%mD.Rear-front 带头结点的单链表L为空的判断条件是()。 A.L==nullB.L->next==null C.L->next==LD.L! =null 假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为7,20XXXX,22,6,32,20XXXX。 若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左至右的结合,新生成的二叉树总是插入在最右),则频率为7的字符编码是(),频率为32的字符编码是()。 a: 00b: 01c: 20XXXXd: 20XXXX e: 020XXXXf: 20XXXX0XXg: 20XXXX20XXXXh: 20XXXX20XXXX 对二叉排序树()可得到有序序列。 a: 按层遍历b: 前序遍历c: 中序遍历d: 后序遍历 设一棵二叉树BT的存储结构如下: 12345678 lchild23006000 dataABCDEFGH rchild05408700 其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。 则 该二叉树的高度为(); 第3层有()个结点(根结点为第1层)。 A.2B.3C.4D.5 先序遍历图示二叉树可得到()的序列。 a)ABHDEFICG b)HBEDFIACG c)HEIFDBGCA (A) /\ (B)(C) /\\ (H)(D)(G) /\ (E)(F) \ (I) 在有n个结点的二叉树的二叉链表表示中,空指针数()。 a.不定b.n+1c.nd.n-1 若某二叉树有20XX个叶子结点,有20XX个结点仅有一个孩子,则该二叉树的总结点数是()。 A.40B.55C.59D.61 已知某二叉树的先序遍历次序为abcdefg中序遍历次序为badcgfe, 则该二叉树的后序遍历次序为()。 层次遍历次序为()。 a: abcdefgb: cdebgfac: bdgfecad: edcgfba .图示的三棵二叉树中(c)为最优二叉树。 A)B)C) ca 27 abcddb 752445 abcd 7524 已知某二叉树的后序遍历和中序遍历次序分别为DBFGECA和BDACFEG。 则其先序遍历次序为(),层次遍历次序为()。 a: abcdefgb: abdcefgc: abcdfegd: abcdegf 已知某树的先根遍历次序为abcdefg后根遍历次序为cdebgfa。 若将该树转换为二叉树,其后序遍历次序为()。 a: abcdefgb: cdebgfac: cdegbfad: edcgfba 设x和y是二叉树中的任意两个结点,若在先根序列中x在y之前,而在后根序列中x在y之后,则x和y的关系是()。 A.x是y的左兄弟B.x是y的右兄弟 C.x是y的祖先D.x是y的子孙 用三叉链表作二叉树的存储结构,当二叉树中有n个结点时,有()个空指针。 A.n-1B.nC.n+1D.n+2 1.在有n个结点的二叉树(二叉链表表示)中,空指针数。 A.不定B.n+1C.nD.n-1 对一棵完全二叉树进行层序编号。 则编号为n的结点若存在右孩子,其位序是()。 编号为n的结点若存在双亲,其位置是()。 a: n/2b: 2nc: 2n-1d: 2n+1e: nf: 2(n+1) 对一棵完全二叉树进行层序编号。 则编号为n的结点若存在右孩子,其位置是()。 编号为n的结点若存在双亲,其位置是()。 a: nb: 2nc: 2n-1d: 2n+1e: n/2f: 2(n+1) 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,则与森林F对应的二叉树根结点的右子树上的结点个数是(20XXXX)。 A.m1B.m1+m2C.m3D.m2+m3 下列二叉树中,()可用于实现符号不等长高效编码。 a: 最优二叉树b: 次优查找树c: 二叉平衡树d: 二叉排序树 邻接表存储结构下图的深度优先遍历算法类似于二叉树的( )遍历。 A.先根 B.中根 C.后根 D.层次 设无向图G=(V,E)和G’=(V’,E’),若G’是G的生成树,则下面不正确的说法是()。 A.G’是G的子图 B.G’是G的连通分量 C.G’是G的无环子图 D.G’是G的极小连通子图且V’=V 任何一个连通图的最小生成树(27)。 A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在 已知某无向图的邻接表如下所示; (20XXXX)是其原图。 (20XX)是按该邻接表遍历所得深度优先生成树。 (21)是按该邻接表遍历所得广度优先生成树。 0a321 1b30 2c430 3d5210 4e52 5f43 A.abB.abC.ab cdcdcd efefef D.abE.abF.ab cdcdcd efefef 深度优先遍历图使用了数据结构(),而广度优先遍历图使用了数据结构()。 A)数组B)栈C)队列D)线性表 a: 弧的数目最多b: 弧的数目最少c: 权值之和最大d: 权值之和最小 1.深度优先遍历图使用了数据结构(),而广度优先遍历图使用了数据结构()。 A)数组B)栈C)队列D)线性表 已知某有向图的邻接表存储结构如图所示。 根据存储结构依教材中的算法其深度优先遍历次序为()。 广度优先遍历此序为()。 各强连通分量的顶点集为()。 a: abcde.b: edcba.c: ecdab.d: ecadb. e: abc及edf: bc及aedg: ab及cedh: ac及bed 2.下列查找方法中()适用于查找单链表。 A)顺序查找B)折半查找C)分块查找D)hash查找 c: d: 哈希表的查找效率取决于()。 a: 哈希函数b: 处理冲突的方法。 c: 哈希表的装填因子。 d: 以上都是 在Hash函数H(k)=kMODm中,一般来说,m应取( )。 A.奇数B.偶数C.素数D.充分大的数 在顺序表查找中,为避免查找过程中每一步都检测整个表是否查找完毕,可采用方法。 A.设置监视哨B.链表存贮C.二分查找D.快速查找 静态查找表和动态查找表的区别在于()。 A.前者是顺序存储,而后者是链式存储 B.前者只能进行查找操作,而后者可进行查找、插入和删除操作 C.前者只能顺序查找,而后者只能折半查找 D.前者可被排序,而后者不能被排序 在一个含有n个元素的有序表上进行折半查找,找到一个元素最多要进行()次元素比较。 A.log2(n)B.log2(n)+1C.log2(n+1)D.log2(n+1)+1 1.具有m个结点的二叉排序树,其最大深度为(),最小深度为()。 根据插入次序(80,90,20XXXX0,20XXXX0XX,85,70,75,60,72)建立二叉排序树。 图()是最终变化的结果。 8080 70907590 60758520XXXX060708520XXXX0 7220XXXX0XX7220XXXX0XX a: b: 9090 7520XXXX08020XXXX0 708011075708520XXXX0XX 6072856072 c: d: 若有序表中关键字序列为: 20XXXX,20XX,25,32,34,45,57,69,77,83,92。 对其进行折半查找,则在等概率情况下,查找成功时的平均查找长度是()。 查找32时需进行()次比较。 A.1B.2C.3D.4 已知哈希表地址空间为A[0..8],哈希函数为H(k)=kmod7,采用线性探测再散列处理冲突。 若依次将数据序列: 76,45,88,21,94,77,20XXXX存入该散列表中,则元素20XXXX存储的下标为();在等概率情况下查找成功的平均查找长度为()。 A.0B.1C.2D.3 E.4F.5G.6H.7 若从二叉树的根结点到其它任一结点的路径上所经过的结点序列按其关键字递增有序,则该二叉树是()。 A.二叉排序树B.赫夫曼树C.堆D.平衡二叉树 当待排序序列的关键字次序为倒序时,若需为之进行正序排序,下列方案中(4)为佳。 A.起泡排序B.快速排序 C.直接插入排序D.简单选择排序 已知一组待排序的记录关键字初始排列如下: 56,26,86,35,75,20XXXX,77,58,48,42 下列选择中()是快速排序一趟排序的结果。 ()是归并排序 一趟排序的结果。 ()是初始堆(大堆顶)。 A)86,75,77,58,42,20XXXX,56,35,48,26. B)26,56,35,75,20XXXX,77,58,48,42,86. C)35,26,20XXXX,42,58,48,56,75,86,77. D)42,26,48,35,20XXXX,56,77,58,75,86. 下列排序算法中,(8)算法可能会出现: 初始数据有序时,花费的时间反而最多。 A.堆排序B.起泡排序C.归并排序D.快速排序 在下列排序方法中,()方法平均时间复杂度为0(nlogn), 最坏情况下时间复杂度为0(n2);()方法所有情况下时间复杂度均为0(nlogn)。 a.插入排序b.归并排序c.快速排序d.堆排序 三.填空题 数据结构通常有下列4类基本结构: 集合、、树型结构、图型结构。 设单链表中结点形式为datanext,若单链表长度大于等于2,指针p指向表中某个结点且p->next非空,此时若要删除指针p所指的结点,可以通过如下方法进行: 将p所指结点的后继的元素值复制到该结点,然后删除其后继结点。 相应的语句序列为: ;;; 线性表的顺序存储结构是以来表示数据元素之间的逻辑关系的。 已知P是单链表中某一结点的指针,P既不是首元结点也不是尾元结点,Q是P的前驱结点指针。 当删除P结点时,链表的链接可用语句()实现。 当在P结点之前插入结点S时,链表的链接可用语句()和语句()来实现。 注: (不考虑生成或释放结点,仅做链接)。 递归过程可借助于数据结构()改写成非递归过程。 设循环队列存于一维数组Q[m]中,尾指针rear指示队尾元素在队列中的当前位置,头指针front指示队列中队头元素的前一个位置,则队列长度=()。 算法填空 StatusPreordertraverse(BitreeT,Status(*Visit)(Telemtypee)){ //先序非递归遍历二叉树。 Initstack(S);Push(S,T); While(! stackempty(S)) {While(gettop(S,p)&&_________________) {if(! Visit(p->data))returnERROR; _____________________; } Pop(S,p); if(_______________) {_______________;push(S,p->rchild);} } returnok; } 已知某树的先根遍历次序为abcdefg后根遍历次序为cdebgfa。 若将该树转换为二叉树,其后序遍历次序为()。 层次遍历次序为()。 已知某二叉树的先序遍历次序为afbcdeg后序遍历次序为cedbgfa。 其后序遍历次序为()。 层次遍历次序为()。 在二叉树的第i层上至少有_________个结点,至多有_________个结点, 深度为k的二叉树至多有_____________个结点. 对树的遍历有先序遍历树和后序遍历树。 若以二叉链表作树的存储结构, 则树的先序遍历可借用二叉树的遍历算法来实现, 而树的后序遍历可借用二叉树的遍历算法来实现。 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少是,至多是。 设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3, 则与森林F对应的二叉树根结点的左子树上的结点个数是(), 右子树上的结点个数是()。 若某二叉树有n0个叶子结点,有n1个结点仅有一个孩子,则该二叉树的总结点数是()。 对任何一棵二叉树T,若其终端结点数为n0.度为2的结点为n2,则n0与n2的关系为()。 如果对完全二叉树中结点从1开始按层进行编号,设最大编号为n;那么,可以断定编号为i(i>1) 的结点的父结点编号为();所有编号()的结点为叶子结点。 假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为20XXXX,5,7,34,21,20XXXX。 若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左至右的结合, 新生成的二叉树总是插入在最右),则频率为5的字符编码是(), 频率为34的字符编码是()。 若某二叉树中,有20XX个结点没有孩子,有20XX个结点仅有一个孩子,则该二叉树的总结点数是 。 n个顶点的连通图至少有条边,至多有条边。 对于图的存储结构有()、()等方法。 在一个无向图的邻接表中,若表结点的个数是m,则图中边的条数是____________条。 若有序表中关键字序列为: 20XXXX,22,33,44,55,66,77,88,20XXXX对其进行折半查找, 则在等概率情况下,查找成功时的平均查找长度是()。 查找20XXXX时需进行()次比较。 在哈希表中,处理冲突的方法有开放定址法,,,。 在二叉树的第i层上至少有_____个结点,至多有_____个结点,深度为k的二叉树至多有个结点. 对于一棵高度为K的二叉排序树,结点数最少可有个,最多可有个。 高度为5二叉排序树,结点数最少有个,最多有个。 用 遍历对二叉排序树进行访问可得到有序序列。 已知Hash函数为H(K)=Kmod20XXXX,散列地址为0--20XXXX,用二次探测再散列 处理冲突,关键字(23,34,56,24,75,20XXXX,49,52,36,92) 的分布如图,则平均成功的查找长度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 数据结构 题目