有关数据结构循环双链表的选择题

在循环双链表的P所指结点之后插入s所指结点的操作是:(D)A,p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;... 在循环双链表的P所指结点之后插入s所指结点的操作是:(D)
A,p->next=s;
s->prior=p;
p->next->prior=s;
s->next=p->next;

B.p->next=s;
p->next->prior=s;
s->prior=p;
s->next=p->next;

C.s->prior=p;
s->next=p->next;
p->next=s;
p->next->prior=s;

D.s->prior=p;
s->next=p->next;
p->next->prior=s;
p->next=s;

有人知道这是为什么吗???调换一下各步的顺序有什么影响??怎么分析的,麻烦高手指教一下,谢谢!!!!
展开
 我来答
大田点十
2011-01-06
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
其实这个题的关键就是你要将原本p和p所指向下个结点的指针域的值赋给要插入的结点,
因此,A的“p->next=s”在赋值之前就把p指针域的值给更改了,所以明显错了。
B也是一样。
而C、D主要是“p->next->prior=s;”先后,很明显C的“p->next=s;”就把原本P的指针域修改了,所以答案是D。
主要就是要先将指针域赋值给S结点。然后才能修改前后结点指针域。
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
万俟迪tg
2010-12-25 · TA获得超过517个赞
知道答主
回答量:404
采纳率:0%
帮助的人:295万
展开全部
选择题
( )1.设有两个长度为n的单向链表,结点类型相同。若以H1为表头指针的链表是非循环的,以H2为表头指针的链表是循环的,则________。
A. 对于两个链表来说,删除第一个结点的操作,其时间复杂度都是O(1)。
B. 对于两个链表来说,删除最后一个结点的操作,其时间复杂度都是O(n)。
C.循环链表要比非循环链表占用更多的存储空间。
D. H1和H2是不同类型的变量。

第二个表删除最后指针的复杂度为O(1)。选B。这题应该是选错的,貌似。

( )2.在高度为h的完全二叉树中,_______.
A度为0的结点都在第h层上 。
B.第i(0≤i〈h-1)层上的结点都是度为2的结点。
C.第i(0≤i〈h-1)层上有2的(i-1)次方的结点。
D.不存在度为1的结点。

选A。B:都是出度为2的节点。C:将i=0带入,明显错误。D:叶子节点入度为1。

( )3.在一棵m阶B-树中,若在某叶子结点插入中一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是___________。
A.m-1 B.m C.| m/2 | D. |m/2 |-1 (都是向上取值)

理论上,B-树在插入结点时,如果结点已满,需要将结点分裂为两个各占 M/2 的结点,但我没理解题目的“原有”是什么意思。
估计应该选B,我不确定。

( )4.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在p和q之间插入s结点,则执行:
A.s->link=p->link; p->link=s; B.p->link=s->link;s->link=p;
C.q->link=s; s->link=p; D.p->link=s; s->link=q;

已知q->link=p,那么插入应该执行s->link=p;q->link=s; 选C。

( )5.字符a,b,c,d的权值分别为2,3,4,11,则字符a的Huffman编码可能为:
A.11 B.010 C.0 D.其他

构造一个huffman树,4个字母编码数一定最多要3位,选B。

( )6.把一个指针s所指的新结点,作为非空双链表中q所指结点(中间结点)的直接后继插入,则正确的是________。
A.q->rlink=s;s->llink=q; q->rlink->llink=s;s->rlink=q->rlink;
B. s->llink=q; q->rlink=s; q->rlink->llink=s; s->rlink=q->rlink;
C. s->llink=q; s->rlink=q->rlink; q->rlink->llink=s; q->rlink=s;
D.以上都不对

先保证右链接正确,才能进行左链接赋值。正确的顺序是:
q->r->l=s; s->r=q->r; q->r=s; s->l=q;, 其中s->l=q的先后顺序无所谓。
选C。

( )7.已知广义表A=((a,b,c),(d,e,f)),则Head(Tail(Head(Tail(A))))的值为_________
A.(d ) B.(e) C.c D.e

Tail(A)=((d,e,f)),Head(Tail(A))=(d,e,f),Tail(Head(Tail(A)))=(e,f)
选D

( )8.在一棵非空二叉树的中序遍历中,根结点的右边_______.
A.只有右子树上的所有结点
B.只有右子树上的部分结点
C.只有左子树上的所有结点
D.只有左子树上的部分结点

选A,概念题。

( )9.对n个顶点的带权连通图,它的最小生成树是指图中任意一个____________。
A.由n-1条权值最小的边构成的子图
B.由n-1条权值之和最小的边构成的子图
C.由n-1条权值之和最小的边构成的连通子图
D.由n个顶点构成的边的权值之和最小的连通子图

选D,概念题。

( )10.在一个空AVL树内,依次插入关键字:49,94,91,47,92,45,89,42,87,当删除关键码时,如果该关键码同时具有左右子女,则以其中序后继替代,则删除关键码91时的旋转类型是__________
A.左单旋 B. 左右单旋 C. 右单旋 D.其他情况

没学过AVL……

( )11.用整数1,2,3,4,5作为五个树叶的权值,可构造一棵带权路径长度值为_______的Huffman树。:
A.15 B.33 C.34 D.其他

构造buffman树,3+6+10+15=34,选C。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
971666748
2011-01-03
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
这个很简单,画个图就一目了然!数据结构第三十六页有详细解释!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式