首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设有带头结点的循环双链表表示的线性表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
51
问题
设有带头结点的循环双链表表示的线性表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://kaotiyun.com/show/2uxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列事件的先后顺序是①匈牙利事件②苏共“二十大”③不结盟运动形成④“布拉格之春”()。
1946年5月,中共中央发布的实现“耕者有其田”政策的重要文件是()。
七月流血事件以后俄国国内政治形势总的特点是()。
1919年3月,世界各国共产党和左派社会主义组织的第一次代表会议在莫斯科召开,成立了各国共产党的国际联合组织()。
试析淝水之战前后南北政权的特点和变化。
第一国际开展了哪些活动?其内部经历了哪些主要斗争?
“改土归流”政策的根本目的是()。
到1869年为止,人类已发现了多少种化学元素()。
明清两朝已经是中国封建社会的晚期,同时也出现了许多新的社会现象,最明显的是()。
阅读下列材料,回答问题:材料一:我们与希特勒或他们的匪帮永不会谈,永不斡旋,我们将在陆地上、海洋上、天空中与他们作战。直到把笼罩阴云于大地的一切敌人消灭为止……任何为反对纳粹主义而战斗的国家或人民,我们都支援。任何与希特勒为伍的人或国家都是我们的敌人。我
随机试题
在公差带图中,零线上方为负偏差。()
使用糖皮质激素治疗各种疾病,请选择剂量与治疗法。A大剂量突击疗法B小剂量替代疗法C一般剂量长期疗法D隔日疗法肾上腺皮质功能不全
依据《医疗机构药品监督管理办法(试行)》,医疗机构应当向所在地药品监督管理部门提交药品质量管理年度自查报告,其报告内容不包括
(2006年)测量工作的基准线是()。
在汇总记账凭证账务处理程序,转账凭证中的会计分录应该是()。
()是网络的心脏,它提供了网络最基本的核心功能,如网络文件系统、存储器的管理和调度等。
商品流通客观需要的货币量,与待售的商品数量和商品价格水平以及同一单位货币的流通速度有关,这种关系是( )。
请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操作。注意:以下的文件必须都保存在考生文件夹下。小李是东方公司的会计,利用自己所学的办公软件进行记账管理,为节省时间,同时又确保记账的准确性,她使用Excel编制了2
Abondisissuedbyaguarantor,usuallyabankoraninsurancecompany,onbehalfofexporter.Itisaguaranteetothebuyert
InJapanesetheworddepatoreferstoDuringtheMeijieradepatowasregardedbyJapanesecustomersasa(n)______shoppingp
最新回复
(
0
)