首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有两个集合A和B,利用带头结点链表表示,设头指针分别为la和lb。两集合的链表元素皆为递增有序。设计一个算法,将A与B合并,合并后仍然保持整个链表中的数据依次递增。不得利用额外的结点空间,只能在A和B的原有结点空间上完成。要求: (1)给出算法的基
有两个集合A和B,利用带头结点链表表示,设头指针分别为la和lb。两集合的链表元素皆为递增有序。设计一个算法,将A与B合并,合并后仍然保持整个链表中的数据依次递增。不得利用额外的结点空间,只能在A和B的原有结点空间上完成。要求: (1)给出算法的基
admin
2019-08-01
48
问题
有两个集合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 LNode * next: } * Linkedlist; LinkedList Union(Linked List 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; free(u); } } if(pa)pc->next=pa; //若la表未空,则链入结果表 else pc->next=pb; //若lb表未空,则链入结果表 free(1b); //释放lb头结点 return(1a): } (3)本题中的主要操作是依次比较A、B链表中的数据元素值的大小,因此时间复杂度为O(n)。
解析
转载请注明原文地址:https://kaotiyun.com/show/8kCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
针对“海内新定,同姓寡少”的特点,西汉统治者采取了下列哪一项措施?()
关于垄断组织的积极作用,不正确的说法是()。
国共十年对峙时期,中国的经济特点包括()。①帝国主义加紧了对中国的经济侵略②民族资本主义经济有了显著发展③官僚资本迅速形成④新民主主义经济有了一定的发展
1941年~1942年,中共在根据地建设中,为争取抗战胜利奠定物质基础的措施是()。
1929~1933年经济危机加剧了世界局势的紧张,这主要是指()。①各国人民强烈要求改善生活状况,罢工运动高涨②法西斯分子在各国兴风作浪③资本主义加紧掠夺国际市场,加剧了各国间的矛④资本主义加紧掠夺殖民地和半
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
一组记录的关键字为{25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序表,用归并排序方法对该序列进行一趟归并后的结果是()。
假设某计算机的存储系统由Cache和主存组成j某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是()。
高度为7的AVL树最少有()个结点。
如果互联的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的多个网络互联设备应该是()。
随机试题
导致Ⅱ型糖尿病发生的最重要因素是()
《沙滩上的脚迹》写于20世纪30年代中叶,正值中国革命处于低潮。()
慢性胃炎的病因是
男,28岁。6年来反复低热、腰痛、伴尿频、尿痛,血压150/100mmHg。多次尿常规:尿比重均为1.010,蛋白(+),红细胞0~2/HP,白细胞15~20/HP,血尿素氮6.5mnlol/L,内生肌酐清除率80ml/min,尿培养大肠杆菌一次阳性,二次
假设今后通货膨胀率维持在3%,40岁的小华如果想要在65岁时拥有相当于现在20万元价值的资产,请问以当年价格计,小华65岁时需要拥有()万元的资产。
操作风险损失数据仅限于日常的风险报告制度、检查审计、历史损失数据收集等内部方式的累积。()
根据《中华人民共和国城市居民委员会组织法》的规定,居民委员会向()负责并报告工作。
最近公布的一项调查结果显示,65%的妇女肺结核患者有吸食二手烟的历史。由此,研究人员提醒,与较少接触二手烟的妇女相比,长期生活在二手烟环境里的妇女患肺结核的概率更大。以下哪项如果为真,最能支持上述论证?
试确定A,B,C的值,使得ex(1+Bx+Cx2)=1+Ax+v(x3).其中v(x3)是当x→0时比x3高阶的无穷小.
WashingtonUniversityinSaintLouis,Missouri,isamedium-sizeduniversity.Ithaseleventhousandstudents.Twelvepercentof
最新回复
(
0
)