付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、v1数据结构与算法2015-2016学年第1学期考试复习题一、选择题(下面各小题有一个正确答案,请将正确答案的编号填写在各小题的括号内)。1、在一棵具有5层的满二叉树中结点总数为(A)。A)31B)32C)33D)162、用的逻辑结构与(D)的逻辑结构不相同A)线性表B)栈C)队列D)集合3、下列序列中,执行第一趟快速排序后得到的序列是(A)。A)d,a,e,d,bfh,gB)c,e,a,dfh,g,bC)g,a,e,c,bfd,hD)a,b,c,d,fe,g,h4、n个顶点的强连通图至少有(A)条边。A)nB)n+1C)n-1D)n(n-1)5、数据结构中,在逻辑上可以把数据结构分成(B)。
2、A)动态结构和静态结构B)线性结构和非线性结构C)紧凑结构和非紧凑结构D)内部结构和外部结构6、链式存储的存储结构所占存储空间(A)。A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针B)只有一部分,存放结点值C)只有一部分,存储表示结点间关系的指针D)分两部分,一部分存放结点值,另一部分存放结点所占单元数7、有一个有序表1,4,6,10,18,35,42,53,67,71,78,84,92,99。当用二分查找法查找键值为84的结点时,经(B)比较后查找成功。A)4B)3C)2D)128、设单链表中指针p指向结点m若要删除m之后的结点(若存在),则需修改指针的操作为(A)0A)p
3、->next=p->next->next;B)p=p->next;C)p=p->next->next;D)p->next=p;9、n个顶点,e条边的有向图的邻接矩阵中非零元素有(C)个。A)nB)2e。eD)n+e10、对下图V4的度为(C)。A)1B)2C)3D)4v11、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为(C)0A)4B)5C)6D)712、在数据结构中,从逻辑上可以把数据结构分为(C)。A)动态结构和静态结构B)紧凑结构和非紧凑结构C)线性结构和非线性结构D)内部结构和外部结构13、用一维数组A进
4、行顺序存储时,若起始地址为10c(A1),元素长度为c,则A的第i个数组单元在存放地址10c(Ai),等于(B)。A)10c(A1)+i*cB)10c(A1)+(i-1)*cC)10c(A1)+i*c+1D)10c(A1)+(i+1)*c14、(C)在进行插入操作时,常产生假溢出现象。A)顺序栈B)循环队列C)顺序队列D)链队列15、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。A)单链表B)仅有头指针的单循环链表C)双链表D)仅有尾指针的单循环链表16、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行(D)。A)hs->
5、next=s;B)s->next=hs->next;hs->next=s;C)s->next=hs;hs=s;D)s->next=hs;hs=hs->next;17、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为(B)。A)rear=rear->next;B)front=front->next;C)rear=front->next;D)front=rear->next;18、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(C)0A)5,4
6、,3,2,1,6B)2,3,5,6,1,4C)3,2,5,4,1,6D)1,4,6,5,2,319、已知广义表L=(x,y,z),a,(u,t,w),从L表中取出原子项t的操作是(D)。A) Head(Head(Tai1(Tai1(L)B) Tai1(Head(Head(Tai1(L)C) Head(Tai1(Head(Tai1(L)D)Head(Tail(Head(Tail(Tail(L)20、下列各种数据结构中属于线性结构的有(A)0A)栈B)二叉树C)广义表D)图21、倘若在对用的插入、删除运算中,期望运算速度最快,则应采用(CB)0A)顺序表示法B)单字符为结点的单链表表示法C)等量分
7、块表示法D)不等量分块表示法22、广义表head(a,b),(c,d)的运算结果为(A)。A)(a,b)B)(c,d)C)空表D)(a,b),(c,d)23、n个顶点的图的最小生成树必定(D),是不正确的描述。A)不唯一B)权的总和唯一C)不含回路D)有n条边24、采用链结构存储线性表时,其地址(B)0A)必须是连续的B)连续不连续都可以C)部分地址必须是连续D)必须是不连续的25、队列的操作的原则是(A)0A)先进先出B)后进先出C)只能进行插入D)只能进行删除26、以下属于顺序存储结构优点的是(A)0A)存储密度大B)插入运算方便C)删除运算方便D)可方便地用于各种逻辑结构的存储表示27、
8、数据结构研究的内容是(D)0A)数据的逻辑结构B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法D)包括以上三个方面28>在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行(A)。A)q->next=s;s->next=p;B)s->next=p->next;p->next=s;C)p->next=s->next;s->next=pD)p->next=s;s->next=q;29、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(D)存储方式最节省时间。A)顺
9、序表B)双链表C)带头结点的双循环链表D)单循环链表30、下面关于线性表的叙述中,错误的是哪一个?(D)A)线性表采用顺序存储,必须占用一片连续的存储单元。B)线性表采用链接存储,便于插入和删除操作。C)线性表采用链接存储,不必占用一片连续的存储单元。D)线性表采用顺序存储,便于进行插入和删除操作。31、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为(C)0A)top不变B)top=0C)top-D)top+32、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为(B)0A)front=fr
10、ont->next;B)rear=rear->next;Qrear=front->next;D)front=rear->next;33、设有一个栈,元素的进栈次序为A,B,C,D,E,下列是不可能的出栈序列是(C)oA)A,B,C,D,EB)B,C,D,E,AC)E,A,B,C,DD)E,D,C,B,A34、广义表A=(A,B,(C,D),(E,(F,G),则head(tail(head(tail(tail(A)尸(D)0A)(G)B)(D)QCD)D35、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n),T表示式中记号。表示(A)oA)一个数量级
11、别B)一个平均值C)一个最大值D)一个均方值36、线性表的链接实现有利于(A)运算。A)插入B)WjE*C)查找D)定位37、用的逻辑结构与(D)的逻辑结构不同A)线性表B)栈C)队列D)树38、下面程序段的时间复杂度是(A)os=0;for(i=0;i<n;i+)for(j=0;j<n;j+)s+=Bij;sum=s;A)O(n2)B)O(n)C)O(m*n)D)0(1)39、二叉树第i(i>1)层上至多有(C)结点。A)2:B)2iC)2mD)2:140、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为(A)0A)p->next=p
12、->next->nextB)p=p->nextC)p=p->nexe->nextD)p->next=p41、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为(B)0A)3,2,5,6,4,1B)1,5,4,6,2,3C)2,4,3,5,1,6D)4,5,3,6,2,142、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是(B)。A)9B)11C)15D)不能确定43、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是(A
13、)oA直接选择排序B)直接插入排序C)快速排序D)起泡排序44、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,&1为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为(B)。A)13B)33C)18D)4045、如果结点A有3个兄弟,而且B为A的双亲,则B的度为(B)。A)3B)4C)5D)146、线索二叉机t中某结点D,没有左孩子的条件是(B)。A)D->Lchild=NullB)D->ltag=1C)D->Rchild=NullD)D->ltag=047、栈进行插入和删除操作的特点是(A)0A)LIFOB)FIFOC)FCFS
14、D)HPF48、与无向图相关的术语有(C)。A)强连通图B)入度C)路径D)弧49、n个顶点的图的最小生成树必定(D),是不正确的描述。A)不唯一B)权的总和唯一C)不含回路D)有n条边50、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个(D)0A)上三角矩阵B)稀疏矩阵C)对角矩阵D)对称矩阵51、采用链结构存储线性表时,其地址(B)。A)必须是连续的B)连续不连续都可以C)部分地址必须是连续D)必须是不连续的52、倘若在对用的插入、删除运算中,期望运算速度最快,则应采用(B)0A)顺序表示法B)单字符为结点的单链表表示法C)等量分块表示法D)不等量分块表示法53、在循环队歹I
15、中,若front与rear分别表示对头元素和队尾元素的位置,则判断循环队列空的条件是(C)oA)front=rear+1B)rear=front+1Cfront=rearD)front=0二、判断题(对的打,错的打X)1、算法和程序都应具有下面一些特征:有输入,有输出,确定性,有穷性,有效性。(1)2、顺序表和一维数组一样,都可以按下标随机(或直接)访问。(1)3、线性表的链式存储结构优于顺序存储。(0)4、对稀疏矩阵进行压缩存储是为了节省存储空间。(1)5、数据的逻辑结构反映了数据在计算机中的存储方式。(1)6、从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比
16、较(n+1)/2个元素结点。(1)7、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为:(rear+l)%n=front。(1)8、选择好的哈希函数就可以完全避免冲突的发生。(0)9、栈和队列都是顺序存取的线性表,它们对存取位置的限制是一样的。(0)10、在铁路的列车调度中,假设两侧铁道均为单向行驶道,如果进站的列车序列为123456,则一定能得到435612和135426的出站序歹限(0)11、广义表是由零个或多个原子或子表所组成的有限序列,所以广义表可能为空表。(0)12、数组是一种复杂的数据结构,数组元素之间的关系,即不是线性的也
17、不是树形的。(0)13、用邻接表存储图所用的空间大小与图的顶点数和边数都有关。(0)14、设散列表长度为m,散列函数为H(key)=key%p,为了减少发生冲突的可能性,p应取小于m的最大奇数。(1)15、在排序前,关键字值相等的不同记录间的前后相对位置保持不变的排序方法称为稳定的排序方法。(1)16、引入线索二叉树的目的是为了能在二叉树中方便的进行插入与删除。(0)17、算法分析的主要任务是研究数据之间的逻辑关系。(0)18、在一个长度为n的顺序表中删除第i个元素(WiWn)时,需向前移动Ai个元素。(0)19、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队
18、尾指针,则判断队空的条件为:rear=front。(0)20、在铁路的列车调度中,假设两侧铁道均为单向行驶道,如果进站的列车序列为123456,贝U只能得至I654321的出站序列。(0)21、在一棵二叉树中,假定每个结点只有左孩子,没有右孩子,对它分别进行前序遍历和中根遍历,则具有相同的结果。(0)22、广义表(a,b),a,b)的表头和表尾是相等的。(0)23、线性表可以看成是广义表的特例,如果广义表中的每个元素是原子,则广义表便成为线性表。(1)24、插入和删除操作是数据结构中最基本的两种操作,所以这两种操作在数组中也会经常使用。(0)25、线索二叉树是一种物理结构。(1)26、一个带权
19、无向连通图的最小生成树有一棵或多棵。(1)27、对线性表进行二分查找时,要求线性表必键值有序的链接表。(1)29、树中所有结点的度等于所有结点数加1。(0)30、图的深度优先搜索是一种典型的回溯搜索的例子,可以通过递归算法求解。(1)三、填空题。1、在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为:p->next->next。2、有向图的边称为弧,边的始点称为弧尾,边的终点称为弧头。有向图顶点的度为出度和入度之和。3、若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为O(T(n)。4、如下程序段的时间复杂
20、度为O(m*n)for(i=1;i<=n;i+)m=n-i;for(j=1;j<=m;j+)sum+=j;5、设某数据结构的二元组形式表示为A=(D,R),D=1,2,3,4,5,6,7,8,9,R=r,r=<1,2>,<1,3>,<1,4>,<2,5>,<2,6>,<3,7>,<3,8>,<3,9>,则该数据结构是树形_结构。6、从一个具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均比较次数为:(n+1)/2。7、在中序线索二叉树中,左线索指向前驱或左孩子。8、对于
21、一个以顺序实现的循环队列Q0.m-1,队头、队尾指针分别为f,r,其判空的条件是f=r,判满的条件是(r+1)%m=f。9、若已知一个栈的进栈序列是1,2,3,n,其输出序列为p1,p2,p3,一pn,若p1=n,贝Upi为n-i+1。10、设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的右孩子结点的编号为2n+1_011、在一棵二叉树中,如果度为2的结点有25个,则该树的叶子结点一定有26个。12、在一个具有n个顶点的无向完全图中,包含有_n(n-1)/2条边。13、线性结构的逻辑特征是除头结点和尾节点外每个节点仅有一个前驱和一个后继结点。14、设一组权
22、值集合W=2,3,4,5,6,则由该权值集合构造的哈夫曼树中带权路径长度之和为4515、设有向图G中有向边的集合E=<1,2>,<1,3>,<2,4>,<3,2>,<3,4>,<4,5>,则该图的拓扑序列为1324516、一个队列的入队序列是1,2,3,4,则出队序列为:123417、设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储M-1个队列元素。18、队列Q,经过下歹J运算:InitQueue(Q)(初始化队列);InQueue(Q,a);InQueue(Q,b);DeQueue(Q,x);DeQueu
23、e(Q,x);后x值是b19、数据结构包括了数据的逻辑结构、数据的存储结构、数据的运算三个方面的内容。20、设一棵完全二叉树中有300个结点,则该二叉树的深度为9o21、在一个具有n个顶点的有向完全图中,包含有n*(n-1)_条边。22、一棵深度为10的完全二叉树的结点总数的最小值为_2八9-1一最大值为2A10-1o23、有一个有序表3,7,8,15,18,22,34,67,75,84,92,100,当用二分查找法查找键值为92的结点时,经3_次比较后查找成功。24、递归算法必须依赖堆栈的处理来实现。25、队列的运算特点是先进先出,栈的运算特点是先进后出。26、设有向图G中有向边的集合E=&
24、lt;1,2>,<2,3>,<1,4>,<4,2>,<4,3>,则该图的拓扑序列为1423o27、在一个长度为n的顺序表L中,删除下标为i的结点,需要移动的结点数为n-i-1o28、假设用front表示队头元素在一维数组中的前一位置,rear表示对尾元素在一维数组中的位置,则队列为空的条件是_front=rear。29、一棵含7个结点的完全二叉树的深度为3。30、已知二维数组A610,每个数组元素占4个存储单元,若按行优先顺序存放数组元素a35的存储地址是1000,则a00的存储地址是860o31、含n个顶点的无向连通图中至少含有n-1_条
25、边。32、对于栈只能在_栈顶:插入和删除元素。33、树是n个节点的有限集合,其中有且仅有一个!_节点没有前趋节点,而包含度为0的节点称为n+1/2_节点。34、指向前趋节点和后继节点的指针称为线索,加了线索的二叉树称为_线索二叉树。35、常用的图的遍历方法有两种;深度优先搜索和广度优先搜索7、简述队列和堆栈这两种数据类型的相同点和差异处。8、线索二叉树的特点是什么?分别写出二叉树的先序,中序,后序遍历结果,9、对于下图,试给出:(1)每个顶点的入度,出度d(1)+=1,d(1)-=2d(2)+=2,d(1)-=2d(3)+=3,d(3)-=1d(4)+=3,d(4)-=0d(5)+=2,d(5
26、)-=3d(6)+=1,d(6)-=2(2)邻接矩阵和入边表图示(3)强连通分量。2365236、为了能有效地应用HASHg找技术,必须解决的两个问题是构造一个好的hash函数f口确定解决冲突的方法。37、顺序表中逻辑上正方勺元素的物理位置单链表中逻辑上相邻的元素的物理位置不相邻。38、在一个长面n的数组的第i个元素(1wi&n+1)之前插入一个元素时,需向后移动n-i个元素。四、简答题。1、已知两个一元多项式A3)和B(x)如下:A(x)=3+5x+7x5+9x1%B(x)=4x-7x5+21x7要求给出图形示意表示:(1)采用单链表表示一元多项式A(x)和B(x)(2)给出求和A(
27、x)+B(x)多项式的单链表(要求给出结点指针变化过程)2、简述下列术语:数据,数据元素、数据对象、数据结构、存储结构。3、简述栈和线性表的差别。4、试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。5、已知一棵树边的集合为(i,m),(i,n),(e,i),(b,e),(b,d),(a,b),(g,j),(g,k),(c,g),(c,f),(h,l),(c,h),(a,c)用树形表示法画出此树,并回答下列问题。(1)哪个是根结点?a(2) 哪些是叶结点?dmnjkfl(3) 哪个是g的双亲?c(4) 哪些是g的祖先?abc(5) 哪些是g的孩子?jk(6) 哪些是e的子孙
28、?imn(7) 哪些是e的兄弟?哪些是f的兄弟?dgfhdegh(8) 结点b和n的层次各是多少?25(9) 树的深度是多少?5(10) 以结点c为根的子树的深度是多少?2(11) 树的度是多少?36、何谓队列的“假溢出”现象,如何解决?后序:BCDAGIHFE(3)画出二叉树的后序线索化树000100101000010010000011000111010000邻接表。00000入边表(逆邻接表)10101011010001000010、已知一组元素的排序码为:(46,74,16,53,14,26,40,38,86,65,27,34)写出用直接选择排序方法进行每趟排序的结果。【14】,74,1
29、6,53,46,26,40,38,86,65,27,34【14,16,74,53,46,26,40,38,86,65,27,3414,16,26,53,46,74,40,38,86,65,27,3414,16,26,27,46,74,40,38,86,65,53,3414,16,26,27,34,74,40,38,86,65,53,4614,16,26,27,34,38,40,74,86,65,53,4614,16,26,27,34,38,40,74,86,65,53,4614,16,26,27,34,38,40,46,86,65,53,7414,16,26,27,34,38,40,46,53
30、,65,86,7414,16,26,27,34,38,40,46,53,65,86,7414,16,26,27,34,38,40,46,53,65,74,8614,16,26,27,34,38,40,46,53,65,74,8611、设二叉树的顺序存储结构如下:1234567891011121314151617181920E1AFAD八HAACAAAGIAAAAB(1)根据其存储结构,画出该二叉树12、已知某电文中只有ABCDE共5个字母,权值集合W=0.25,0.10,0.20,0.30,0.15,试分析Huffman树的生成过程,画出存储结构表(初态和终态),以及最终的HuffmanW,并
31、用0/1给ABCD这5个字母分别编码,最后写出电文:BAACD的Huffman编码。A(00),B(110),C(10),D(01),E(111).BAACDE(11000001001111);13、某系统在通信联络中只可能出现八种字符,它们分别是ABCDEFG也概率分别为0.05,0.19,0.18,0.09,0.12,0.23,0.13,0.01。现要对这八种字符进行Huffman编码,写出该编码值。画出该Huffman树(权值大的结点做左孩子),在所有的结点上标出其权值,并求出这棵树的带权路径长度。A(01010)B(11)C(000)D(0100)E(011)F(10)G(001)H(
32、01011)0/(|(2)写出按前序、中序、后序遍历该二叉树所得的结点序列前序:EADCBFHGI中序:ABCDEFGHIL(n)=0.05*5+0.19*2+0.18*3+0.09*4+0.12*3+0.23*2+0.13*3+0.01*5=2.7914、已知一组元素为(46,25,78,62,12,37,70,29),试画出按元素排列次序插入生成的一棵二叉排序树。46fAJUJJ15、简述起泡算法的过程,并写出使用起泡排序方法对下面的整数数列进行排序的结果(写出每趟排序后的结果):97,66,49,38,26,17,9,6。66,49,38,26,17,9,6,(97)49,38,26,1
33、7,9,6,(66,97)38,26,17,9,6,(49,66,97)26,17,9,6,(38,49,66,97)17,9,6,(26,38,49,66,97)9,6,(17,26,38,49,66,97)6,(9,17,26,38,49,66,97)(6,9,17,26,38,49,66,97)16、画出下列二叉排序树的平衡结果图,要求:(1)已知初始查找表的关键字序列为(70,100,80,30,75,构造并画出初始二叉排序树,标明各结点平衡因子。Jo(2)插入关键字20,a.画出失衡后的二叉排序树,标明各结点平衡因子%17、什么是有向网?已知有向网G=(V,E),其中顶点集V=a,b
34、,c,d,e,边集为:E=<a,b,5>,<b,d,1>,<c,d,1>,<d,e,2>,<e,c,3>,E中的每条边是一个三元组,分别表示弧尾,弧头和边的长度(权重)。画出有向网G,写出其邻接矩阵。18、关键字集合为19,36,23,82,14,55,68,11,01哈希函数为:Hash(key尸keymod7,试写出哈希表的链地址处理图。19、写出如下所示二叉树的叶子结点和非终端结点以及各结点所在的层次、树的深度、树的深度,并且写出该树的先序遍历、中序遍历、后序遍历和层次遍历的结果。叶子结点:GHMJ非终端结点:ABCDEF结点所
35、在层次:A(1),B(2),C(2),D(3),E(3),F(3),G(4)H(4),J(4),M(4)b.画出重新平衡后的二叉排序树,标明各结点平衡因子树的深度:4序序序次先中后层ABDGEHCFMJDGBEHACMFJGDHEBMJFCAABCDEFGHMJ20、用快速排序方法对数据集234512907856进行排序,写出快速排序第一趟的详细过程,以及简述后面的递归过程。234512907856234512907856234512907856234512567890234512567890(23451256)78(90)21、对于下面两个图,求出:(1)无向图中每个顶点的度,有向图中每个顶
36、点的入度,出度和度。d(0)=4,d(1)=2,d(2)=3,d(3)=3,d(4)=2.d(0)+=2,d(0)-=2,d(1)+=1,d(1)-=2,d(2)+=1,d(2)-=3d(3)+=2,d(3)-=1,d(4)+=2,d(0)-=0(2)画出有向图的邻接距阵。100101010010011000010000012(3)下面是否是连通图或强连通图,如果不是,画出连通分量或强连通分量22、给出下列AOV网的可能的拓扑排序序列。拓扑排序序列是否唯一?在什么情况下拓扑排序无法完成。CDBAE或DCBAE或不唯一在含有回路的时候拓扑排序无法完成23、已知二叉树的先序序列和中序序列分别为HD
37、ACBGFE和ADCBHFEG(1)画出该二叉树(2)写出其后序序列;ABCDEFGH24、已知带权无向图的邻接表如下所示,其中边表结点的结构为:*|207H?|Q8-HoTWj*wnHtwi依此邻接表从顶点C出发进行深度优先遍历。4i4i蚂(1)画出由此无向图;(2)写出遍历过程中得到的从顶点C开始的可能的一个顶点序列DCABEF五、算法阅读题1、阅读下面的算法typedefintDatatype;typedefStructnodeDatatypedata;Structnode*next;lklist;voiddelredundant(lklist*&head)lklist*p,*q
38、,*s;for(p=head;p!=0;p=p->next)for(q=p->next,s=q;q!=0;)if(q->data=p->data)s->next=q->next;free(q);q=s->next;elses=q;q=q->next;问:该算法的功能是什么?bitree;bitree*q20;intr=0,f=0,flag=0;voidpreorder(bitree*bt,charx)if(bt!=0&&flag=0)if(bt->data=x)flag=1;return;elser=(r+1)%20;qr=
39、bt;preorder(bt->lchild,x);preorder(bt->rchild,x);voidparent(bitree*bt,charx)inti;preorder(bt,x);for(i=f+1;i<=r;i+)if(qi->lchild->data=x|qi->rchild->data)break;if(flag=0)printf("notfoundxn");elseif(i<=r)printf("%c",bt->data);elseprintf("notparent&qu
40、ot;);问:该算法的功能是什么?找到根节点到某个节点的路径3、阅读下面的算法intminnum=-32768,flag=1;typedefStructnodeintkey;Structnode*lchild,*rchild;bitree;voidinorder(bitree*bt)if(bt!=0)inorder(bt->lchild);if(minnum>bt->key)flag=0;minnum=bt->key;inorder(bt->rchild);问:该算法的功能是什么?找最小值2、阅读下面的算法typedefintDatatype;typedefStr
41、uctnodeDatatypedata;Structnode*lchild,*rchild;4、已知一个算法设计如下:LinkListmynote(LinkListL)/L是不带头结点的单链表的头指针if(L&&L->next)q=L;L=L>next;p=L;S1:while(p>next)p=p>next;S2:p>next=q;q>next=NULL;)returnL;)问:(1)说明语句S1的功能(2)说明语句组S2的功能(3)设链表表示的线性表为(ai,%,an),写出算法执行后的返回值所表示的线性表5、已知一个算法设计如下:int
42、unkown(JDr,intn,intk)intlow,high,mid,found;low=1;high=n;found=0;while(low<=high)&&(found=0)mid=(low+high)/2;if(k>rmid.key)low=mid+1;elseif(k=rmid.key)found=1;elsehigh=mid-1;)if(found=1)return(mid);elsereturn(0);)问:该算法的功能是什么?二分查找关键字,若找到返回其下标,若没有找到返回06、已知二叉树的存储结构为二叉链表,阅读下面算法。typedefStruc
43、tnodeDateTypedataStructnode*next;ListNode;typedefListNode*LinkList;LinkListLeafhead=NULL;VoidInorder(BinTreeT)LinkLists;If(T)Inorder(T>lchild);If(!T>lchild)&&(!T>rchild)s=(ListNode*)malloc(sizeof(ListNode);s>data=T>data;s>next=Leafhead;Leafhead=sInorder(T>rchild);对于如下所示的
44、二叉树(1)画出执行上述算法后所建立的结构;(2)说明该算法的功能。中序建立线索二叉树7、已知一个算法设计如下:voidABC(BTNode*BT)ifBTABC(BT->left);ABC(BT->right);cout<<BT->data<<''问:该算法的功能是什么?后序遍历二叉树8、已知一个算法设计如下:voidunkown(JDr,intn)intm,i,j,flag=1;JDx;m=n-1;while(m>0)&&(flag=1)flag=0;for(j=1;j<=m;j+)if(rj.key&g
45、t;rj+1.key)flag=1;x=rj;rj=rj+1;rj+1=x;)m-;)问:该算法的功能是什么?冒泡法升序排列某个数组9、阅读下面的算法typedefcharDatatype;typedefStructnodeDatatypedata;Structnode*lchild,*rchild;bitree;voidcreatebitree(bitree*&bt)charch;scanf("%c",&ch);if(ch='#')bt=0;return;bt=(bitree*)malloc(sizeof(bitree);bt->da
46、ta=ch;createbitree(bt->lchild);createbitree(bt->rchild);问:该算法的功能是什么?先序创建二叉树10、阅读下面的算法voidSearch(BTNode*BT)ifBTSearch(BT->left);Search(BT->right);cout<<BT->data<<''问:该算法的功能是什么?后序遍历二叉树六、算法填空题1、将二叉树bt中每一个结点的左右子树互换的C语言算法如下,其中ADDQ(Q,bt),DELQ(Q),EMPTY(Q)分别为进队、出队和判别队列是否为空
47、的函数,请填写算法中空白之处,完成其功能。typedefstructnodeintdata;structnode*lchild,*rchild;btnode;voidEXCHANGE(btnode*bt)btnode*p,*q;if(bt)ADDQ(Q,bt);/入队while(!EMPTY(Q)队不空,那么我们就出队p=DELQ(Q);if(p->lchild)ADDQ(Q,p->lchild);左孩子不空,左孩子入队if(p->rchild)_(2)_ADDQ(Q,p->rchild)_;右孩子不空,右孩子入队/下面交换左右孩子q=p->rchild;/p->rchild=(4)p->lchild;_(5)p->lchild_=q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QC/T 1206.4-2026电动汽车动力蓄电池热管理系统第4部分:加热器
- 2026事业单位工勤技能-江西-江西下水道养护工五级(初级工)历年参考题库含答案详解3套试卷
- G6PD缺乏症的护理
- 《我的眼睛》学前教育健康领域说课稿
- 2026下半年小学教师资格证考试学科全真自测试卷及解析
- 心理疲劳的辨析与治疗
- 医院院长年度智慧医院建设与患者就医体验提升工作总结(3篇)
- 学校食堂大宗食材采购验收管理工作指引+中小学校“点餐日”活动方案
- 便秘人群健康调理
- 下肢血肿康复指导
- 2026年江苏省安全员C2证(土建安全员)考试题库及答案
- DB11-T 1610-2026 民用建筑信息模型深化设计建模细度标准
- 2026年巨量本地推初级题库
- 保安员监控岗工作制度
- (正式版)DB36∕T 1297-2020 《城市消防物联网大数据应用平台物联设施设备接口规范》
- GB/Z 46984.3-2026光伏电池第3部分:双面光伏电池电流-电压特性的测量
- 2025年江西省高考地理真题卷含答案解析
- 生物医药研发项目计划书范例
- 智能交通系统在公共交通线路优化中的应用可行性研究报告
- 第1单元 运动的描述 章末复习(含单元检测卷)(解析版)-2025~2026学年高一上学期物理讲与练(人教版2019必修第一册)
- 电厂热控安装培训课件
评论
0/150
提交评论