整理数据结构练习题.docx
- 文档编号:2149914
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:21
- 大小:125.02KB
整理数据结构练习题.docx
《整理数据结构练习题.docx》由会员分享,可在线阅读,更多相关《整理数据结构练习题.docx(21页珍藏版)》请在冰豆网上搜索。
整理数据结构练习题
数据结构练习题:
1.下面关于线性表的叙述错误的是(D)。
(A)线性表采用顺序存储必须占用一片连续的存储空间
(B)线性表采用链式存储不必占用一片连续的存储空间
(C)线性表采用链式存储便于插入和删除操作的实现
(D)线性表采用顺序存储便于插入和删除操作的实现
2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(B)个空指针域。
(A)2m-1(B)2m(C)2m+1(D)4m
3.设顺序循环队列Q[0:
M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为(C)。
(A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M
4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为(A)。
(A)BADC(B)BCDA(C)CDAB(D)CBDA
5.设某完全无向图中有n个顶点,则该完全无向图中有(A)条边。
(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-1
6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(C)。
(A)9(B)10(C)11(D)12
7.在数据结构中,从逻辑上可以把数据结构分为(D)
A.动态结构和静态结构B.紧凑结构和非紧凑结构
C.内部结构和外部结构D.线性结构和非线性结构
8.已知图的邻接表如下所示,根据算法,则从顶点V0出发按广度优先遍历的结点序列是(A)
A.0321B.0123C.0132D.0312
9.若进栈序列为a,b,c,d,e,则栈的不可能的输出序列是(B)
A.edcbaB.dceabC.decbaD.abcde
10.把一棵树转换为二叉树后,这棵二叉树的形态是(A)。
A.唯一的 B.有多种
C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子
11.为查找某一特定单词在文本中出现的位置,可应用的串运算是( D )
A.插入 B.删除 C.串联接 D.子串定位
12.ALV树是一种平衡的二叉树,树中任一结点的( B )
A.左、右子树的高度均相同 B.左、右子树高度差的绝对值不超过1
C.左子树的高度均大于右子树的高度 D.左子树的高度均小于右子树的高度
13.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( C )
A.顺序表 B.用头指针表示的单循环链表
C.用尾指针表示的单循环链表 D.单链表
14.二叉树是非线性数据结构,所以(C)。
A.它不能用顺序存储结构存储;B.它不能用链式存储结构存储;
C.顺序存储结构和链式存储结构都能存储;D.顺序存储结构和链式存储结构都不能使用
15.用邻接表表示图进行广度优先遍历时,通常是采用(B)来实现算法的。
A.栈B.队列C.树D.图
16.数据的最小单位是(A)。
(A)数据项(B)数据类型(C)数据元素(D)数据变量
17.设某棵二叉树中有2000个结点,则该二叉树的最小高度为(C)。
(A)9(B)10(C)11(D)12
18.函数substr(“DATASTRUCTURE”,5,9)的返回值为(A)。
(A)“STRUCTURE”(B)“DATA”
(C)“ASTRUCTUR”(D)“DATASTRUCTURE”
19.设某完全无向图中有n个顶点,则该完全无向图中有(A)条边。
(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-1
20.深度为k的完全二叉树中最少有(B)个结点。
(A)2k-1-1(B)2k-1(C)2k-1+1(D)2k-1
21.设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为(B)。
(A)abedfc(B)acfebd(C)aebdfc(D)aedfcb
22.设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是(C)。
(A)n-i(B)n-1-i(C)n+1-i(D)不能确定
23.为查找某一特定单词在文本中出现的位置,可应用的串运算是( D )
A.插入 B.删除 C.串联接 D.子串定位
24.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较(B)次。
(A)25(B)10(C)7(D)1
25.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( C )
A.顺序表 B.用头指针表示的单循环链表
C.用尾指针表示的单循环链表 D.单链表
26.把一棵树转换为二叉树后,这棵二叉树的形态是(A)。
A.唯一的 B.有多种
C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子
27.已知图的邻接表如下所示,根据算法,则从顶点V0出发按广度优先遍历的结点序列是(A)
A.0321B.0123C.0132D.0312
28.二叉树是非线性数据结构,所以(C)。
A.它不能用顺序存储结构存储;B.它不能用链式存储结构存储;
C.顺序存储结构和链式存储结构都能存储;D.顺序存储结构和链式存储结构都不能使用
29.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(D)。
A.r-f;B.(n+f-r)%n;C.n+r-f;D.(n+r-f)%n
30.用邻接表表示图进行广度优先遍历时,通常是采用(B)来实现算法的。
A.栈B.队列C.树D.图
31.1.for(i=1,t=1,s=0;i<=n;i++){t=t*i;s=s+t;}的时间复杂度为O(n)。
32.下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。
voidbubble(intr[n])
{
for(i=1;i<=n-1;i++)
{
for(exchange=0,j=0;j if(r[j]>r[j+1]){temp=r[j+1];r[j+1]=r[j];r[j]=temp;exchange=1;} if(exchange==0)return; } } 33.中序遍历二叉排序树所得到的序列是有序序列(填有序或无序)。 34.快速排序的最坏时间复杂度为O(n2),平均时间复杂度为O(nlog2n)。 35.设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为N0-1;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有2N0+N1个空指针域。 1.36.设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=d/2。 37.设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立 2.的初始堆为(31,38,54,56,75,80,55,63)。 3.38.设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为F==R。 39.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。 structrecord{intkey;intothers;}; intbisearch(structrecordr[],intk) { intlow=0,mid,high=n-1; while(low<=high) { mid=(low+high)/2; if(r[mid].key==k)return(mid+1); elseif(r[mid].key>k)high=mid-1;elselow=mid+1; } return(0); } 40.若顺序表每个元素长度均为5,其中第一个元素的存储地址为30,则第6个元素的存储地址为55。 41.栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为先进后出表;队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为先进先出表。 42.顺序表中逻辑上相邻的元素的物理位置必定紧邻。 单链表中逻辑上相邻的元素的物理位置不一定紧邻。 (对) 43.设一棵完全二叉树有128个结点,则该完全二叉树的深度为8,有64个叶子结点。 (对) 44.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。 (对) 45.设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。 (错) 46.栈和链表是两种不同的数据结构。 (错) 47.具有12个结点的完全二叉树有5个度为2的结点。 (对) 48.关键路径是事件结点网络中的从源点到汇点的最短路径。 (错) 49.由树转化成二叉树,该二叉树的右子树不一定为空。 (错) 50.堆排序是不稳定的排序方法。 (对) 51.调用一次深度优先遍历可以访问到图中的所有顶点。 (错) 52.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。 (对) 53.冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。 (对) 54.已知一棵二叉树的先序序列是ABCDEFGHIJK,中序序列是CDBGFEAHJIK,请构造出该二叉树 55.设给定权集W={5,7,2,3,6,8,9},请构造画出关于W的一棵赫夫曼树,并求出其加权路径长度WPL。 加权路径长度: WPL=2*4+3*4+5*3+6*3+7*3+8*2+9*2=108 56.对如下所示的带权图: (1)分别按照克鲁斯卡尔算法和普里姆算法,从顶点v1出发,生成最小生成树,按生成次序依次写出各条边; (2)画出该图最小生成树,并求出它的权值之和。 57、下图所示的森林: (1)求树(a)的先根序列和后根序列; (2)求森林先序序列和中序序列; (3)将此森林转换为相应的二叉树; (1)先根序列: ABCDEF;后根序列: BDEFCA; (2)先序序列: ABCDEFGHIJK;中序序列: BDEFCAIJKHG (3)森林转换为相应的二叉树; 58.设一组初始记录关键字序列为(15,17,18,22,35,51,60),要求计算出使用折半查找查找成功时的平均查找长度。 59.编写递归算法,计算二叉树中叶子结点的数目。 intLeafCount_BiTree(BitreeT)//求二叉树中叶子结点的数目 { if(! T)return0;//空树没有叶子 elseif(! T->lchild&&! T->rchild)return1;//叶子结点 elsereturnLeaf_Cou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 数据结构 练习题