数据结构习题.docx
- 文档编号:8804231
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:35
- 大小:63.66KB
数据结构习题.docx
《数据结构习题.docx》由会员分享,可在线阅读,更多相关《数据结构习题.docx(35页珍藏版)》请在冰豆网上搜索。
数据结构习题
第1章 绪论
一、选择题
1.算法的计算量的大小称为计算的( B )。
A.效率 B.复杂性 C.现实性 D.难度
2.从逻辑上可以把数据结构分为( C )两大类。
A.动态结构、静态结构 B.顺序结构、链式结构
C.线性结构、非线性结构 D.初等结构、构造型结构
3.以下数据结构中,哪一个是线性结构( D )?
A.广义表 B.二叉树 C.稀疏矩阵 D. 串
4.程序段FOR (i=n-1;i>=1;i--)
FOR(j=1;j<=i;j++)
IFA[j]>A[j+1]
A[j]与A[j+1]对换;
其中n为正整数,则最后一行的语句频度在最坏情况下是( D )
A.O(n) B.O(nlogn) C.O(n3) D.O(n2)
5.以下数据结构中,( A )是非线性数据结构
A.树 B.字符串 C.队 D.栈
6.链式存储设计时,存储单元的地址( C )。
A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续
二、填空
1.数据的物理结构包括 的表示和 的表示。
2.对于给定的n个元素,可以构造出的逻辑结构有
(1) ,
(2) , (3) ,__(4)_四种。
3.数据结构中评价算法的两个重要指标是 时间复杂度和空间复杂度
4.一个算法具有5个特性:
(1)、
(2)、(3),有零个或多个输入、有一个或多个输出。
5.已知如下程序段
FOR(int i=n;i>=1;i--) {语句1}
{x=x+1; {语句2}
FOR(j=n;j>=i;j--) {语句3}
y=y+1; {语句4}
}
语句1执行的频度为
(1);语句2执行的频度为
(2);语句3执行的频度为(3);语句4执行的频度为(4)。
第六章 树和二叉树
一、选择题
1.已知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( D )
A.-A+B*C/DE B.-A+B*CD/E C.-+*ABC/DE D.-+A*BC/DE
2.算术表达式a+b*(c+d/e)转为后缀表达式后为( )
A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++
3.设有一表示算术表达式的二叉树(见下图),
它所表示的算术表达式是( )
A.A*B+C/(D*E)+(F-G) B.(A*B+C)/(D*E)+(F-G)
C.(A*B+C)/(D*E+(F-G)) D.A*B+C/D*E+F-G
4.设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为( )
A.5 B.6 C.7 D.8
5.在下述结论中,正确的是( )
①只有一个结点的二叉树的度为0; ②二叉树的度为2;
③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③ B.②③④ C.②④ D.①④
6.设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( )
A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定
7.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )
A.9 B.11 C.15 D.不确定
8.在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( )个
A.4 B.5 C.6 D.7
9.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是( )。
A.M1 B.M1+M2 C.M3 D.M2+M3
10.具有10个叶结点的二叉树中有( )个度为2的结点。
A.8 B.9 C.10 D.ll
11.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。
A.250 B.500 C.254 D.505 E.以上答案都不对
12.设给定权值总数有n个,其哈夫曼树的结点总数为( )。
A.不确定 B.2n C.2n+1 D.2n-1
13.有n个叶子的哈夫曼树的结点总数为( )。
A.不确定 B.2n C.2n+1 D.2n-1
14.若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()。
A.n-1 B.n/m-1 C..
15.有关二叉树下列说法正确的是( )
A.二叉树的度为2 B.一棵二叉树的度可以小于2
C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2
16.二叉树的第I层上最多含有结点数为( )
A.2I B.2I-1-1 C.2I-1 D.2I -1
17.一个具有1025个结点的二叉树的高h为( )
A.11 B.10 C.11至1025之间 D.10至1024之间
18.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点
A.2h B.2h-1 C.2h+1 D.h+1
19.对于有n个结点的二叉树,其高度为( )
A.nlog2n B.log2n C.log2n|+1 D.不确定
20.一棵具有n个结点的完全二叉树的树高度(深度)是( )
A.logn+1 B.logn+1 C.logn D.logn-1
21.深度为h的满m叉树的第k层有( )个结点。
(1= A.mk-1 B.mk-1 C.mh-1 D.mh-1 22.在一棵高度为k的满二叉树中,结点总数为( ) A.2k-1 B.2k C.2k-1 D.log2k+1 23.高度为K的二叉树最大的结点数为( )。 A.2k B.2k-1 C.2k-1 D.2k-1-1 24.一棵树高为K的完全二叉树至少有( )个结点 A.2k–1 B.2k-1–1 C.2k-1 D.2k 25.利用二叉链表存储树,则根结点的右指针是( )。 A.指向最左孩子 B.指向最右孩子 C.空 D.非空 26.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。 A.先序 B.中序 C.后序 D.从根开始按层次遍历 27.树的后根遍历序列等同于该树对应的二叉树的( )。 A.先序序列 B.中序序列 C.后序序列 28.在下列存储形式中,哪一个不是树的存储形式? ( ) A.双亲表示法 B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法 29.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( ) A.CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG 30.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。 A.CBEFDA B.FEDCBA C.CBEDFA D.不定 31.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac, 它的前序遍历是( )。 A.acbed B.decab C.deabc D.cedba 32.某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E则前序序列是: A.E,G,F,A,C,D,B B.E,A,C,B,D,G,F C.E,A,G,C,F,B,D D.上面的都不对 33.上题的二叉树对应的森林包括多少棵树( ) A.l B.2 C.3 D.概念上是错误的 34.二叉树的先序遍历和中序遍历如下: 先序遍历: EFHIGJK;中序遍历: HFIEJKG。 该二叉树根的右子树的根是: A、E B、F C、G D、H 35.将一棵树t转换为孩子—兄弟链表表示的二叉树h,则t的后根序遍历是h的 A.前序遍历 B.中序遍历 C.后序遍历( ) 36.某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号为1,2,…,n,且有如下性质: T中任一结点V,其编号等于左子树上的最小编号减1,而V的右子树的结点中,其最小编号等于V左子树上结点的最大编号加1。 这时是按( )编号的。 A.中序遍历序列B.前序遍历序列C.后序遍历序列 D.层次顺序 37.下面的说法中正确的是( ). (1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变; (2)按二叉树定义,具有三个结点的二叉树共有6种。 A. (1) (2) B. (1) C. (2) D. (1)、 (2)都错 38.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( ) A.都不相同 B.完全相同 C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同 39.在完全二叉树中,若一个结点是叶结点,则它没( )。 A.左子结点 B.右子结点 C.左子结点和右子结点 D.左子结点,右子结点和兄弟结点 40.在下列情况中,可称为二叉树的是( ) A.每个结点至多有两棵子树的树 B.哈夫曼树 C.每个结点至多有两棵子树的有序树 D.每个结点只有一棵右子树 E.以上答案都不对 41.由3个结点可以构造出多少种不同的二叉树? ( ) A.2 B.3 C.4 D.5 42.当一棵有n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组A[l..n]中时,数组中第i个结点的左孩子为( ) A.A[2i](2i= 43.从下列有关树的叙述中,选出5条正确的叙述(共5分)( ) A.二叉树中每个结点有两个子结点,而树无此限制,因此二叉树是树的特殊情况。 B.当K≥1时高度为K的二叉树至多有2k-1个结点。 C.用树的前序周游和中序周游可以导出树的后序周游。 D.线索二叉树的优点是便于在中序下查找前驱结点和后继结点。 E.将一棵树转换成二叉树后,根结点没有左子树。 F.一棵含有N个结点的完全二叉树,它的高度是LOG2N+1。 G.在二叉树中插入结点,该二叉树便不再是二叉树。 H.采用二叉树链表作树的存储结构,树的前序周游和其相应的二叉树的前序周游的结果是一样的。 I.哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。 J.用一维数组存储二叉树时,总是以前序周游存储结点。 二、填空题 1.在二叉树中,指针p所指结点为叶子结点的条件是______。 2.中缀式a+b*3+4*(c-d)对应的前缀式为__ (1)_,若a=1,b=2,c=3,d=4,则后缀式db/cc*a-b*+的运算结果为_ (2)__。 3.具有256个结点的完全二叉树的深度为______。 4.深度为k的完全二叉树至少有___ (1)____个结点,至多有___ (2)____个结点。 5.在完全二叉树中,编号为i和j的两个结点处于同一层的条件是______。 6.一棵有n个结点的满二叉树有__ (1)_个度为1的结点、有__ (2)_个分支(非终端)结点和__(3)_个叶子,该满二叉树的深度为_(4)__。 7.假设根结点的层数为1,具有n个结点的二叉树的最大高度是______。 8.在一棵二叉树中,度为零的结点的个数为N0,度为2的结点的个数为N2,则有N0=______ 9.设只含根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为______,最小结点数为______。 10.高度为K的完全二叉树至少有______个叶子结点。 17.已知二叉树有50个叶子结点,则该二叉树的总结点数至少是______。 12.一个有2001个结点的完全二叉树的高度为______。 13.设F是由T1,T2,T3三棵树组成的森林,与F对应的二叉树为B,已知T1,T2,T3的结点数分别为n1,n2和n3则二叉树B的左子树中有__ (1)_个结点,右子树中有_ (2)__个结点。 14.一个深度为k的,具有最少结点数的完全二叉树按层次,(同层次从左到右)用自然数依此对结点编号,则编号最小的叶子的序号是__ (1)_;编号是i的结点所在的层次号是_ (2)__(根所在的层次号规定为1层)。 15.如某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数为______。 16.如果结点A有3个兄弟,而且B是A的双亲,则B的度是______。 17.对于一个具有n个结点的二元树,当它为一棵_ (1)_二元树时具有最小高度,当它为一棵_ (2)_时,具有最大高度。 18.具有N个结点的二叉树,采用二叉链表存储,共有______个空链域。 19.8层完全二叉树至少有______个结点,拥有100个结点的完全二叉树的最大层数为______。 20.含4个度为2的结点和5个叶子结点的二叉树,可有______个度为1的结点。 21.每一棵树都能唯一的转换为它所对应的二叉树。 若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列是_ (1)__。 设上述二叉树是由某棵树转换而成,则该树的前序序列是_ (2)__。 22.二叉树结点的中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E,则该二叉树结点的前序序列为_ (1)__,则该二叉树对应的森林包括_ (2)__棵树。 23.现有按中序遍历二叉树的结果为abc,问有___种不同的二叉树可以得到这一遍历结果。 24.利用树的孩子兄弟表示法存储,可以将一棵树转换为______。 25.若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的______序列中的最后一个结点。 26.若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是______。 27.有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树的树高是_ (1)__,带权路径长度WPL为_ (2)__。 【南京理工大学1999三、6(4分)】 28.有一份电文中共使用6个字符: a,b,c,d,e,f,它们的出现频率依次为2,3,4,7,8,9,试构造一棵哈夫曼树,则其加权路径长度WPL为_ (1)__,字符c的编码是_ (2)__。 29.设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有______个结点。 第3章栈和队列 一选择题 1.对于栈操作数据的原则是(B)。 A.先进先出B.后进先出C.后进后出D.不分顺序 2.在作入栈运算时,应先判别栈是否(①B),在作出栈运算时应先判别栈是否(②A)。 当栈中元素为n个,作入栈运算时发生上溢,则说明该栈的最大容量为(③B)。 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的(④D)分别设在这片内存空间的两端,这样,当(⑤C)时,才产生上溢。 ①,②: A.空B.满C.上溢D.下溢 ③: A.n-1B.nC.n+1D.n/2 ④: A.长度B.深度C.栈顶D.栈底 ⑤: A.两个栈的栈顶同时到达栈空间的中心点. B.其中一个栈的栈顶到达栈空间的中心点. C.两个栈的栈顶在栈空间的某一位置相遇. D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底. 3.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是(B)。 A.不确定B.n-i+1C.iD.n-i 4.若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是(D)。 A.i-j-1B.i-jC.j-i+1D.不确定的 5.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列? (C) A.543612B.453126C.346521D.234156 6.设栈的输入序列是1,2,3,4,则(D)不可能是其出栈序列。 A.1,2,4,3,B.2,1,3,4,C.1,4,3,2, D.4,3,1,2,E.3,2,1,4, 7.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是(B)。 A.23415B.54132C.23145D.15432 8.设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是(D)。 A.51234B.45132C.43125D.32154 9.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是(D)。 A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b 10.设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为()。 A.fedcbaB.bcafedC.dcefbaD.cabdef 11.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。 A.XYZB.YZXC.ZXYD.ZYX 12.输入序列为ABC,可以变为CBA时,经过的栈操作为(B)【中山大学1999一、8(1分)】 A.push,pop,push,pop,push,popB.push,push,push,pop,pop,pop C.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop 13.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是()。 A.top=top+1;V[top]=xB.V[top]=x;top=top+1 C.top=top-1;V[top]=xD.V[top]=x;top=top-1 14.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈(i=1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是()。 A.|top[2]-top[1]|=0B.top[1]+1=top[2]C.top[1]+top[2]=mD.top[1]=top[2] 15.执行完下列语句段后,i值为: () intf(intx) {return((x>0)? x*f(x-1): 2);} inti; i=f(f (1)); A.2B.4C.8D.无限递归 16.表达式a*(b+c)-d的后缀表达式是()。 A.abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd 17.表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为(),其中^为乘幂。 A.3,2,4,1,1;(*^(+*- B.3,2,8;(*^- C.3,2,4,2,2;(*^(- D.3,2,8;(*^(- 18.设计一个判别表达式中左、右括号是否配对出现的算法,采用()数据结构最佳。 A.线性表的顺序存储结构B.队列C.线性表的链式存储结构D.栈 19.用链接方式存储的队列,在进行删除运算时()。 A.仅修改头指针B.仅修改尾指针C.头、尾指针都要修改D.头、尾指针可能都要修改 20.递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。 A.队列B.多维数组C.栈D.线性表 21.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。 A.(rear-front+m)%mB.rear-front+1C.(front-rear+m)%mD.(rear-front)%m 22.循环队列A[0..m-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 习题