首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设线性表L=(a1,a2,a3,…,an-2,an-1,an)采用带头结点的单链表保存,链表中结点定义如下: 请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L中的各结点,得到线性表L’=(a1,an,a2,an-1,a3,an-2,…)
设线性表L=(a1,a2,a3,…,an-2,an-1,an)采用带头结点的单链表保存,链表中结点定义如下: 请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L中的各结点,得到线性表L’=(a1,an,a2,an-1,a3,an-2,…)
admin
2020-06-17
40
问题
设线性表L=(a
1
,a
2
,a
3
,…,a
n-2
,a
n-1
,a
n
)采用带头结点的单链表保存,链表中结点定义如下:
请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L中的各结点,得到线性表L’=(a
1
,a
n
,a
2
,a
n-1
,a
3
,a
n-2
,…)。要求:
给出算法的基本设计思想。
选项
答案
算法的基本设计思想:先观察L(a
1
,a
2
,a
3
,……,a
n-2
,a
n-1
,a
n
)和L’(a
1
,a
n
,a
2
,a
n-1
,a
3
,a
n-2
,……),发现L’是由L摘取第一个元素,再摘取倒数第一个元素……依次合并而成的。为了方便链表后半段取元素,需要先将L后半段原地逆置[题目要求空间复杂度为O(1),不能借助栈],否则每取最后一个结点都需要遍历一次链表。①先找出链表L的中间结点,为此设置两个指针p和q,指针p每次走一步,指针q每次走两步,当指针q到达链尾时,指针p正好在链表的中间结点;②然后将L的后半段结点原地逆置。③从单链表前后两段中依次各取一个结点,按要求重排。
解析
转载请注明原文地址:https://kaotiyun.com/show/tU3i777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
某计算机采用Cache一主存一磁盘三级存储系统。Cache的访问时间为t1ns,命中率为p1;若Cache未命中,CPU需直接访问主存,访问时间为t2ns,主存命中率为p2;若所需数据字不在主存中,则访问主存未命中、将包含所需数据字的磁盘数据块装入主存共需
(某系统有三个进程P1,P2,P3并发工作,其中P1执行过程中需要使用资源S3,S1;P2需要使用资源S1,S2;P3需要使用资源S2,S3。如何避免这种后果,列出所有可能的方法。
把程序地址空间中使用的逻辑地址变成内存中物理地址称为()。
计算机网络分为广域网、城域网和局域网,其划分的主要依据是()。
如下图所示为一个TCP主机中的拥塞窗口的变化过程,这里最大数据段长度为1024字节,请回答如下问题:在14次传输的时候阀值为多少?
分时系统里,在条件相同的情况下,通常KLT(内核级线程)比ULT(用户级线程)得到更多的CPU时间,请简要解释之。
图的邻接表存储表示,数据元素之间的关系是()。
线索化的二叉树中,某结点*p没有孩子的充要条件是()。
假定站点A和B在同一个10Mbit/s以太网的网段上,这两个站点之间的传播时延为225bit时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所允许的最短的帧,试问:在(1)中的站点A和B在t=0时同时发送了数据帧。当t
随机试题
简述辛亥革命以后,南京临时政府对文书工作进行的改革。
市场需求预测的方法有:(1)__________。(2)__________。(3)__________。(4)__________。(5)__________。(6)__________。(7)__________。
交叉弹性可以是正值,也可以是负值。如为正值,则此两项产品为_________;相反,如果交叉弹性为负值,则此两项产品为互补品,也就是说,当产品Y的价格上涨时,产品X的需求量会下降。
直肠癌多见于()
下列主体中,应当向持票人承担票据责任的有()。
创新教育是以()为基本价值取向的教育。
关于《荷马史涛》的叙述不正确的是()。
下列不是实时操作系统的是()。
Marshaconfessedthatsheknewnothingofcomputer.
DoesthepublisherofDouglasStarr’sexcellentBlood—AnEpicHistoryofMedicineandCommerceactuallyexpecttosellmanycopi
最新回复
(
0
)