早教吧作业答案频道 -->数学-->
下列算法,指出算法A的功能和时间复杂度,其中h、g分别为单循环链表中两个节点指针.VoidB(int*s,int*q){Int*p;p=s;while(p->next!=q)P=p->next;P->next=s;}VoidA(int*h,int*g){B(h,g);B(g,h);}
题目详情
下列算法,指出算法A的功能和时间复杂度,其中h、g分别为单循环链表中两个节点指针.
Void B(int*s,int*q){
Int*p;
p=s;
while(p->next!=q)
P=p->next;
P->next=s;
}
Void A(int*h,int*g){
B(h,g);
B(g,h);
}
Void B(int*s,int*q){
Int*p;
p=s;
while(p->next!=q)
P=p->next;
P->next=s;
}
Void A(int*h,int*g){
B(h,g);
B(g,h);
}
▼优质解答
答案和解析
估计你的代码是这样的吧:
void B(int *s, int *q)
{
int *p;
p = s;
while(p->next != q)
p = p->next;
p->next = s;
}
void A(int *h, int *g)
{
B(h, g);
B(g, h);
}
首先说下函数B的作用,函数B的作用是将单循环链表(也可以是单向链表,如果是单链表,那么s节点一定要在q节点之前,题意中指的是单循环链表)中的q节点和s节点相连接(q->next = s),从而形成一个单循环链表.
函数A的作用是使单循环链表中的g的下一个节点为h而h的下一个节点为g(即g->next = h且h->next = g),也可以说是形成一个只有g和h节点的单循环链表.
如果g,h所在单循环链表节点数为n,则当q->next == s时,"B(h, g);"要执行最多次" p = p->next;"(n-2次),执行p->next = s;一次;B(g, h);只执行p->next = s;一次.所以时间复杂度肯定是线性阶,即T(n) = O(n).
void B(int *s, int *q)
{
int *p;
p = s;
while(p->next != q)
p = p->next;
p->next = s;
}
void A(int *h, int *g)
{
B(h, g);
B(g, h);
}
首先说下函数B的作用,函数B的作用是将单循环链表(也可以是单向链表,如果是单链表,那么s节点一定要在q节点之前,题意中指的是单循环链表)中的q节点和s节点相连接(q->next = s),从而形成一个单循环链表.
函数A的作用是使单循环链表中的g的下一个节点为h而h的下一个节点为g(即g->next = h且h->next = g),也可以说是形成一个只有g和h节点的单循环链表.
如果g,h所在单循环链表节点数为n,则当q->next == s时,"B(h, g);"要执行最多次" p = p->next;"(n-2次),执行p->next = s;一次;B(g, h);只执行p->next = s;一次.所以时间复杂度肯定是线性阶,即T(n) = O(n).
看了 下列算法,指出算法A的功能和...的网友还看了以下:
将炼钛厂、氯碱厂和甲醇厂组成产业链如下,可得到烧碱、甲醇、钛以及其他一些有用的副产品.已知:合成甲 2020-05-13 …
DNA复制的半不连续性(关于单链复制的方向)DNA由双链组成,请问在复制过程中,单链上是否可以双向 2020-05-13 …
DNA的半保留复制是两只链分别单独复制么书上说是以一条链为母链复制那另一条是不是也复制呢 2020-05-15 …
如图是某生物细胞DNA复制过程的示意图,a、b、c、d是四条脱氧核苷酸链.下列有关叙述正确的是() 2020-05-15 …
提问:关于DNA复制过程中的等量关系高二生物优化设计上说:一条DNA分子双链,复制n次,形成的子代 2020-06-10 …
已知DNA的序列为:W:5'-AGCTGGTCAATGAACTGGCGTTAACGTTAAACGT 2020-07-08 …
多聚酶链式反应(PCR)是一种体外迅速扩增DNA片段的技术.PCR过程一般经历下述三十多次循环:9 2020-07-10 …
多聚酶链式反应(PCR)是一种体外迅速扩增DNA片段的技术。PCR过程一般经历下述三十多次循环:95 2020-11-02 …
有关DNA复制的下列叙述,正确的是()A.解旋后是一条DNA单链复制子代DNAB.子代DNA链的两条 2020-11-10 …
Qβ噬菌体的遗传物质(QβRNA)是一条单链RNA,当噬菌体侵染大肠杆菌后,QβRNA立即作为模板翻 2020-12-18 …