首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有两个集合A和B,利用带头结点链表表示,设头指针分别为la和lb。两集合的链表元素皆为递增有序。设计一个算法,将A与B合并,合并后仍然保持整个链表中的数据依次递增。不得利用额外的结点空间,只能在A和B的原有结点空间上完成。要求: (1)给出算法的基
有两个集合A和B,利用带头结点链表表示,设头指针分别为la和lb。两集合的链表元素皆为递增有序。设计一个算法,将A与B合并,合并后仍然保持整个链表中的数据依次递增。不得利用额外的结点空间,只能在A和B的原有结点空间上完成。要求: (1)给出算法的基
admin
2019-01-16
65
问题
有两个集合A和B,利用带头结点链表表示,设头指针分别为la和lb。两集合的链表元素皆为递增有序。设计一个算法,将A与B合并,合并后仍然保持整个链表中的数据依次递增。不得利用额外的结点空间,只能在A和B的原有结点空间上完成。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
(3)分别给出算法各部分的时间复杂度。
选项
答案
(1)算法的基本设计思想:分别从A、B的头结点开始,依次比较A、B中元素的内容,如果A中的元素值大于B中的元素值,则将B中的结点插入结果链表,反之将A中的结点插入结果链表。由于题目中要求将结果链表中的结点按元素值的大小依次递增地排列。因此,如果A、B中两个元素值相同,只将其中的一个加入结果链表。 (2)算法的设计如下: typedef struct LNode{ int data; struct INode*next; }* Linkedlist; LinkedList union(IAnkedList la,lb){ pa=la一>next; pb=lb一>next; //设工作指针pa和pb pc=la; //pc为结果链表当前结点的前驱指针 while(pa&&pb){ if(pa->data
data){ pc->next=pa; pc=pa; pa=pa->next } else if(pa->data>pb->data){ pc->next=pb; pc=pb; pb=pb一>next; } else{ //处理pa一>data=pb一>data. pc->next=pa: pc=pa; pa=pa一>next; u=pb; pb=pb一>next; flee(u); } } if(pa)pc一>next=pa; //若la表未空,则链入结果表 else pc->next=pb; //若lb表未空,则链入结果表 free(lb): //释放lb头结点 return(1a); } (3)本题中的主要操作是依次比较A、B链表中的数据元素值的大小,因此时间复杂度为O(n)。
解析
转载请注明原文地址:https://kaotiyun.com/show/ciRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
神圣同盟开始分裂的标志是()。
简述弭兵运动的主要内容以及重要影响。
洪秀全以宗教手段组织起义,主要利用的是()。
文艺复兴运动兴起的时间是()。
试评述明末清初三大思想家顾炎武、黄宗羲、王夫之。
下列对近代社会思潮产生的先后顺序排列正确的是()。①人文主义②自由主义③理性主义④重商主义
抗日战争期间,日本将沦陷区的许多矿产业、钢铁业等交给日本公司管理,其名义是()。
下列选项中,控制了西域政权的是()。
下列哪一个不是罗马王政时代的管理机构?()
马克思和恩格斯之所以能创立科学社会主义理论,主要是由于()。
随机试题
下列选项中属于淡水鱼类的是________。
试述人如何培养人际关系交往的能力。
A.吸氧B.针刺入中穴C.给物理降温D.给清洁口腔E.用生理盐水纱布遮眼可以降低颅内压的护理措施有
扩张型心肌病左、右心室同时衰竭时,与临床症状和体征最有关的因素是
2001年开始的辽宁养老社会保险改革试点对个人账户资金的运用规定是()。
A公司于2013年1月1日以9600万元购入B公司股票4000万股,占B公司实际发行在外股数的80%,能够对B公司实施控制。2013年1月1日B公司股东权益总额为10000万元,其中股本为5000万元,资本公积为5000万元,无盈余公积和未分配利润;201
股份有限公司的认股人未按期缴纳所认股份的股款,经公司发起人催缴后在合理期间内仍未缴纳,公司发起人对该股份另行募集的,人民法院应当认定该募集行为有效;认股人延期缴纳股款给公司造成损失,公司请求该认股人承担赔偿责任的,人民法院不予支持。()
传统的“穿越”,对象是空间,如“穿越边境”“穿越沙漠”;现在流行的“穿越”则是“穿越时空”,是文艺作品中一种展开情节的流行手段。穿越电影、穿越电视剧、穿越小说等共同的特点,是人物会不断地往来于不同的时空。这种时空的错乱,容易造成受众的费解或误解,于是,“穿
A、 B、 C、 D、 A
用汇编语言编写的程序需要经过( )翻译成机器语言后,才能在计算机中执行。
最新回复
(
0
)