首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有带头结点的循环双链表表示的线性表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
23
问题
设有带头结点的循环双链表表示的线性表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://jikaoti.com/ti/zCajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
毛泽东认为,社会主义这个阶段可分为两个阶段,包括()。
下列关于王政时代后期的叙述,不正确的是()。
1911年,美国工程师()出版《科学管理原理》一书,奠定了科学管理的理论基础,被誉为“科学管理之父”。
西藏自治区的设立时间是()。
《吕氏春秋》载:“公作则迟,有所匿其力也;分地则速,无所匿其力也。”这条材料反映的实质问题是()。
佛教在从印度向外传播的过程中分为两大流派,其中小乘佛教又称为()。
中国第一条自行设计修建的铁路是在()
科举是一种读书、应考、任官三位一体的选官方法,其中的进士科始创于()。
我国第一部系统的史学理论著作是()。
在西北地区,西北野战军采取了蘑菇战术与敌人周旋,这实际上是()。
随机试题
电化学驱动力决定了离子跨膜流动的方向和速度。而驱动力的改变主要由什么引起
油气最有利的生成地区是适于生物生活和大量繁殖,且水体宁静、()含量低、具有还原环境,有利于有机物保存的环境。
公开遴选的程序包括()
下列作品属于巴金的是()
手少阴心经的募穴是手厥阴心包经的募穴是
在保修期限内发生的属于保修范围的质量问题,房地产开发企业应当履行()义务,并对造成的损失承担赔偿责任。因不可抗力或者()造成的损失,房地产开发企业不承担责任。
若f’’(x)不变号,且曲线y=f(x)在点(1,1)处的曲率圆为x2+y2=2,则函数f(x)在区间(1,2)内()
(2010下软评)与设计测试用例无关的文档是______。
命令"DIMEmyArray(10,10)"执行后,myArray(5,5)的值为( )。
Astheshipisloaded,itwillsinkdeeperanddeeperintothewater,butonlysinkdeepenoughto______anamountofwaterequal
最新回复
(
0
)