首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
42.设有带头结点的循环双链表表示的线性表L=(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a2,……,an,……a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,
42.设有带头结点的循环双链表表示的线性表L=(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a2,……,an,……a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,
admin
2012-06-26
80
问题
42.设有带头结点的循环双链表表示的线性表L=(a
1
,a
2
,……,a
n-1
,a
n
)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a
1
,a
2
,……,a
n
,……a
4
,a
2
)。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C十十或JAVA语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)算法的基本设计思想如解析所述。 (2)用C语言算法描述如下: Void spl.it(DLinkList&L){ DLinkList*p=L一>next,*q,*s=NULL; L一>next=L;L一>prior=L; //构造只有一个头结点的循环双链表 while(p!=L){ //扫描L的所有结点 q=p一>next; p一>next=L;p一>prior=L一>prior; //将*p结点插入到L循环双链表的末尾 L一>prior一>next:p;L一>prior=p; p=q;q=p一>next; if(s==NULL>{ //s原为空表时,现只含有一个结点 s=p; s一>next=s;s一>prior=s; } else{ //将*p插入到s的前端 p一>next=s;p一>prior=s一>prior; s一>prior一>next=p;s一>prior=p; s=p; } p=q; } s一>prior一>next=L; //将L和s合并起来 L一>prior一>next=s; q=L一>prior; L一>prior=s一>prior; s一>prior=q; } (3)说明算法的复杂性:上述算法的时间复杂度为O(n),算法的空间复杂度为O(1)。
解析
用p指针扫描L的所有结点,先将L构造为只有一个带头结点的循环双链表,而用指针s构造不带头结点的循环双链表(初始时为NULL),对于奇数序号的结点*p,采用尾插法插入到L中,对于偶数序号的结点*p,采用头插法插入到s中。最后将L和s两个循环双链表连接成一个循环双链表,L为其头结点指针。
转载请注明原文地址:https://kaotiyun.com/show/Lyxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
维也纳会议争论的焦点问题是()。
波兹南事件后,()出任波党第一书记。
明清时期的文化科技特征不包括()。
光绪元年七月,清政府迫于()强烈要求派一位使臣到其国,()成为中国第一个驻外公使
第一国际成立于下面的哪个城市?()
下列历史事件发生的先后顺序是()①“铁幕”演说②马歇尔计划③北大西洋公约
下列内容,哪些与垄断组织出现有关?()①控制一个或几个部门商品的生产、价格和市场②促进了大工业的发展,在某种程度上适应了生产力发展的需要③干预、控制国家的政治和经济生活④积极向外扩张,从经济上瓜分世界
北宋在统一南方割据势力的过程中特设(),把征南所得的财富统一存放,以作日后恢复幽燕之费。
(1)根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是28-2,即254台。该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:
一个UDP用户的数据报的数据部分长为8192字节。那么通过以太网来传播该UDP数据报时,最后一个IP分片的数据长度是()。
随机试题
全面的网络信息安全方案不仅要覆盖到数据流在网络系统中的所有环节,还应当包括信息使用者、传输介质和网络等各方面的管理措施。()
柿蒂的性味是
A.印堂、攒竹、合谷、内庭B.率谷、外关、足临泣C.天柱、后溪、申脉D.四神聪、太冲、内关阳明头痛除选主穴外还可配用
氯霉素引起的骨髓造血功能抑制属于药物的
A.髓海不足B.脾肾两虚C.痰浊蒙窍D.瘀血内阻E.肝肾阴虚
对于承包商来说,风险最大的合同计价形式为( )合同。
汇率政策中最基础、最核心的部分是()。
强制性规则又称为命令性规则,在民法中较多。 ( )
清朝的《理藩院则例》是()
A、March29.B、July14.C、August9.D、September11.B
最新回复
(
0
)