首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有带头结点的循环双链表表示的线性表L===(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a3,……,an……a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用
设有带头结点的循环双链表表示的线性表L===(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a3,……,an……a4,a2)。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用
admin
2013-07-12
84
问题
设有带头结点的循环双链表表示的线性表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)算法的基本设计思想如分析所述。 (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)。
解析
用P指针扫描L的所有结点,先将L构造为只有一个带头结点的循环双链表,而用指针s构造不带头结点的循环双链表(初始时为NULL),对于奇数序号的结点*P,采用尾插法插入到L中,对于偶数序号的结点*P,采用头插法插入到s中。最后将L和s两个循环双链表连接成一个循环双链表,L为其头结点指针。
转载请注明原文地址:https://www.kaotiyun.com/show/2uxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列事件的先后顺序是①匈牙利事件②苏共“二十大”③不结盟运动形成④“布拉格之春”()。
第一次鸦片战争中英国侵略中国的路线是()。
试述孙中山在旧民主主义革命时期的主要革命活动。
简述布匿战争的过程。
第一国际成立于下面的哪个城市?()
在1958年通过了“鼓足干劲、力争上游、多快好省地建设社会主义”总路线的会议是()。
下面条约没有涉及德国的赔款问题的是()。
阅读材料,回答以下问题:材料一:甘地认为,非暴力抵抗是印度争取摆脱殖民桎梏的唯一正确办法;同时,他认为非暴力抵抗并不意味着对外国统治和其他罪恶的屈服。他写道:“我深信假如只有在怯懦和暴力两者之间加以选择时,我将劝人选择暴力……我宁愿要印度用暴力来保护自己
在西北地区,西北野战军采取了蘑菇战术与敌人周旋,这实际上是()。
战时共产主义政策中对后来的工农联盟最能构成威胁的是()。
随机试题
1915年,爱因斯坦提出了广义相对论,他认为引力是时空扭曲的结果。在过去的一个世纪,广义相对论的那些看似()的预言,一一被验证,其中一个最()的预言是,当中子星和黑洞等大质量天体相互碰撞时,时空结构会出现波动。这类事
AdecadeagobiologistsidentifiedaremoteprotectedareainnorthernLaos,calledNamEt-PhouLouey,asthecountry’sprobable
当车速大于10km/h时,_______。此时若车门没有锁闭,中央门锁控制单元驱动_______,自动将_______。
运用罪刑法定原则的基本要求区分类推解释与扩大解释。
一8月龄萨摩耶犬,抢食骨头时突然退出争抢,采食固体食物呕吐,仅能少量饮水。X线检查在第7~9肋间食管处有高密度影像。闭合胸腔时,关于胸膜缝合描述正确的是
桥梁的组成部分包括( )。
问题解决就是在问题空间下,经由思考与推理而达到目的的心理历程;也就是寻找一条从问题的初始状态到下列哪项的通路()
Whichofthefollowingitalicizedpartsmodifiesaverb?
Childrenhavebeensaidtohavebrain-injuredchildsyndrome,hyperactive(极度活跃的)childsyndromeandattention-deficitdisorder
It’sanannualback-to-schoolroutine.Onemorningyouwavegoodbye,andthat【C1】______eveningyou’reburningthe;late-nightoi
最新回复
(
0
)