A、s->next=p+1; p->next=s;
B、(*p).next=s; (*s).next=(*p).next
C、s->next=p->next; p->next=s->next;
D、s->next=p->next; p->next=s;
答案:D。
设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含结点总数量少( )个。
A.k+1
B.2k
C.2k-1
D.2k+1
在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
Ap=s->next
Bp->next=s;s->next=p->next
Cp->next=s->next;
Ds->next=p->next;p->next=s;
在一个单向链表中p所指结点之后插入一个s所指的新结点,应执行s->next=p->next;和()操作。
p->next=s;
略
在一个单向链表中p所指结点之后插入一个s所指向的结点时,应执行s->next=p->next;和()的操作。
s->next=p->next;
略
吉大18春学期数据结构在线作业一-0002试卷总分:100 得分:100一、单选题 (共 10 道试题,共 40 分)1.深度为6的二叉树最多有( )个结点。A.64B.63C.32D.31答案:B2.含n个顶点的连通图中的任意一条简单路径,其长度不可能超过( )。A.1B.n/2C.n-1D.n答案:C3.在 一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s结点,这执行( )操作。A.s-next=p-next;p-next=sB.q-next=s;s-next=pC.p-next=s-next;s-next=p;D.p-next=s;s-next=q;答案:B4.设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含结点总数最少( )个。A.k+1B.2kC.2k-1D.2k+1答案:C5.当文件局部有序或文件长度较小的情况下,最佳的排序方法是( )。A.直接插入排序B.直接选择排序C.冒泡排序D.归并排序答案:C6.非空的循环单链表head的尾结点(由指针p所指)满足( )。A.p-next=NULLB.p=NULLC.p-next=headD.p=head答案:C7.在无向图中,所有顶点的度数之和是所有边数的( )倍。A.0.5B.1C.2D.4答案:C8.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )A.数据元素具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等答案:B9.线性表是具有n个( )的有限序列A.表元素B.字符C.数据元素D.数据项答案:C10.从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较( )个结点。A.nB.n/2C.(n-1)/2D.(n+1)/2答案:D二、多选题 (共 5 道试题,共 20 分)11.类string中包含的串运算有( )A.Find()B.Substr()C.Insert()D.Length()答案:ABCD12.数据结构指的是数据之间的关系,主要包含3部分的内容( )A.数据的逻辑结构B.数据的存储结构C.对数据施加的操作D.算法答案:ABC13.对线性表,可进行如下基本操作( )A.随机存取B.插入C.删除D.查找答案:ABCD14.递归过程中要保存的信息包括( )A.返回地址B.本次调用中与形参结合的实参值C.本次递归调用中的局部变量值D.执行结果答案:ABC15.图的存储结构有()A.邻接矩阵B.邻接表C.数组表示法D.十字链表答案:ABCD三、判断题 (共 10 道试题,共 40 分)16.单链表中的头结点就是单链表的第一个结点。( )答案:错误17.设栈的输入序列是1,2,3,4,则1,4,3,2不可能是其出栈序列答案:错误18.算法在发生非法操作时可以作出处理的特性称为健壮性答案:正确19.在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终的排序算法是冒泡排序答案:正确20.算法和程序没有区别,所以在数据结构中二者是通用的。( )答案:错误21.邻接多重表示法对于有向图和无向图的存储都适用答案:正确22.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是归并排序答案:正确23.不是所有的AOV网都有一个拓朴序列答案:正确24.栈和队列都是限制取点的线性结构()答案:正确25.任何一棵二叉树中至少有一个结点的度为2。( )答案:错误
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。
在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行()
在循环双链表的p所指结点后插入s所指结点的操作是()。
在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入一个结点s,则执行()。
在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是S->next=p->next;()=s;s->prior=();p->next=s;