首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有带头结点的循环双链表表示的线性表L=(a1,a2,…,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a3,…,an,…,a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C
设有带头结点的循环双链表表示的线性表L=(a1,a2,…,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a3,…,an,…,a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C
admin
2013-12-31
37
问题
设有带头结点的循环双链表表示的线性表L=(a
1
,a
2
,…,a
n-1
,a
n
)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a
1
,a
3
,…,a
n
,…,a
4
,a
2
)。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
选项
答案
(1)用p指针扫描L的所有结点,先将L构造为只有一个带头结点的循环双链表,而用指针s构造不带头结点的循环双链表(初始时为NULL),对于奇数序号的结点*p,采用尾插法插入到L中,对于偶数序号的结点*p,采用头插法插入到S中。最后将L和S两个循环双链表连接成一个循环双链表,L为其头结点指针。 (2)用C语言算法描述如下: void split(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)。
解析
转载请注明原文地址:https://kaotiyun.com/show/tSxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
苏俄同德国签订《布列斯特和约》的根本目的在于()。
论述彼得一世改革的背景、措施及影响
分析百家争鸣的社会背景及主要原因。
曹操统一北方的关键战役是()。
“土木之变”是明与()之间的冲突导致的。
近现代以来,国际关系中先后出现了维也纳体系、凡尔赛一华盛顿体系和雅尔塔体系。关于这三个体系共同点的表述不正确的是()。
新王朝时期出现了什么类型的墓?()
阅读以下史料,结合相关背景知识,分析古巴比伦社会的等级制度和奴隶制度。《汉谟拉比法典》(节录)第七条自由民从自由民之子或自由民之奴隶手中买得或为之保管银或金。或奴隶,或女奴,或牛,或羊,或驴,或不论任何物,而无证人及契约者,是为窃贼,
编写判定给定的二叉树是否是二叉排序树的函数。
某机字长32位,它的存储容量为256MB,按字节编址,则它的寻址范围大小为()。
随机试题
关于洞口防护设施要求的说法,正确的有()。
1958年法国宪法规定其议会两院为【】
正常足月儿出生时,以下所列哪项错误
宏观经济分析的经济指标分为()。
非居民纳税人的下列收入中,应在中国按规定计算缴纳个人所得税的有()。(2009年)
下列各项中,关于会计职能的表述正确的有()。
请认真阅读下列材料,并按要求作答。我们以前学过对称图形和对称轴,长方形、正方形和圆等都是对称图形,都有对称轴。这些图形都是轴对称图形。你能分别画出下面两个圆的对称轴吗?你能画出几条呢?1.想想我们已经学过的平面图形中
衡量一个班级是不是一个良好的集体,关键要看()。
1978年12月,邓小平在中共中央工作会议上发表的重要报告是()。
•Readthearticlebelowaboutsuccessfule-mailnegotiation.•Choosethebestsentencefromtheoppositepagetofilleachofth
最新回复
(
0
)