首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有两个单链表La和Lb,La中有m个元素,Lh中的元素个数为n。已知两个链表均为递增的单向链表。现想将两个链表归并成一个递增的单向链表,且希望利用原来的结点空间,请回答下列问题: (1)给出算法的主要思想; (2)写出算法的实现函数; (3)总
有两个单链表La和Lb,La中有m个元素,Lh中的元素个数为n。已知两个链表均为递增的单向链表。现想将两个链表归并成一个递增的单向链表,且希望利用原来的结点空间,请回答下列问题: (1)给出算法的主要思想; (2)写出算法的实现函数; (3)总
admin
2014-07-18
85
问题
有两个单链表La和Lb,La中有m个元素,Lh中的元素个数为n。已知两个链表均为递增的单向链表。现想将两个链表归并成一个递增的单向链表,且希望利用原来的结点空间,请回答下列问题:
(1)给出算法的主要思想;
(2)写出算法的实现函数;
(3)总结所用算法的时间和空间复杂度。
选项
答案
(1)基本思想:遍历链表La和Lb,将其元素值进行比较,再合并成一个递增的单向链表。 (2)算法的实现如下: 链表结点定义为: struct node{ int value; struct node*Next: }; struct node *merge(struct node*a,struct node*b){ struct node *P; struct node *q; struct node *t; if(a->value<=b->value){//比较当前指针所指值的大小 P=a: q=b; }else{ P=b: q=a: } t=P: while(q){//如果b链表先结束,那么将a链表剩余结点全部合并到新链表 if(p->Next==NULL){ p->Next=q; break: } if(q->value
Next ->Value){ struct node * k=q->Next; q->Next=p->Next; p=p->Next; q=k; continue; } p=p->Next; } return t: } (3)遍历链表的时间复杂度为O(max(m,n)),算法实现过程中使用的辅助空间为常量,空间复杂度为O(1)。
解析
转载请注明原文地址:https://kaotiyun.com/show/Maxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述战后西欧经济的变化过程。
新经济政策的实施表明苏俄()①放弃了由战时共产主义政策过渡到社会主义的设想②发展了马克思主义理论③适时调整生产关系以适应生产力发展④利用市场和商品货币关系发展经济
到1869年为止,人类已发现了多少种化学元素()。
下列历史事件发生的先后顺序是()①“铁幕”演说②马歇尔计划③北大西洋公约
第一次鸦片战争过程中,清政府在()时对英国侵略者的态度发生了转变。
简述弭兵之会的背景、过程和结果。
第一次国共合作采取了共产党员以个人身份加入国民党的“党内合作”方式,最早提出这种方式的是()
二次大战后,主要资本主义国家经历了增长时期,首先开始这个进程的国家是()。
下列排序算法中,时间复杂度为O(nlogn)且占用额外空间最少的是()。
IEEE754标准浮点数的尾数采用()机器数形式。
随机试题
最早在中国传播和研究马克思主义的先驱是()
对于肺部给药特点的叙述不正确的是
下列何种感染易造成呼吸困难
国有独资公司与其他类型的公司相比,特殊性表现在()。
万能保险和投资连结保险均可以收取的费用不包括( )。
按现行会计制度的规定,下列各种提法中,正确的有()。
导游服务团队共同的工作目标是()
成批生产或成批量生产,介于大量生产与单件生产之间,即品种不单一,每种都有一定的批量,生产有一定的重复性。()
根据《物权法》的规定,下列权利中,不能设定权利质权的是()
Itwastheworsttragedyin【C1】________history,sixtimesmoredeadlythantheTitanic.WhentheGermancruiseshipWilhelm
最新回复
(
0
)