首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设线性表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
57
问题
设线性表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
学硕统考专业
相关试题推荐
某计算机系统的内存储器由(2ache和主存构成,Cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:如果Cache为8行,主存16块,分别采用三种方式映射主存的第9块
某计算机系统的内存储器由(2ache和主存构成,Cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:CPU访问内存的平均时间是多少纳秒?
设有一缓冲池P,P中含有10个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出(如下图所示)。若进程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的设置。输入进程输出进程L:读入数据L1;
某32位机(机器字长32位)的一台外设通过32位总线与系统内存相连。CPU每秒执行100条指令,平均每条指令需要5个机器周期,其中3个周期必须访问内存,内存读写需一个机器周期,假定CPU在95%的时间内持续执行“背景程序”,且这段时间内不执行I/O指令。现
同步通信比异步通信数据传输率高的原因是()。
若有4个进程共享同一程序段,每次允许3个进程进入该程序段,用P、V操作作为同步机制,则信号量S的取值范围是()。
给定页面请求序列RS—cadbebabcd,页框为4,起始为空,写出LRU页面置换过程。
设一段正文由字符集{A,B,C,D,E,F}中的字母组成,这6个字母在正文中出现的次数分别为{12,18,26,6,4,34}。(1)为这6个编码设计哈夫曼编码。(2)设每个字节由8位二进制位组成,试计算按哈夫曼编码压缩存储这段正文共需多少个字节。(3)若
一个网络的物理线路上抓到011001位串的波形如下;请问该线路采用了()编码方式。
关于死锁的银行家算法是围绕“安全状态”的概念工作的。当系统预测到不安全状态时,就拒绝分配资源,但是,银行家算法要求的条件并不是必要的。例如,某系统有12个资源供进程P0、P1、P2使用。目前的分配情况如下:请说明系统并不一定死锁。
随机试题
党的十八大以来,以习近平同志为核心的党中央高度重视军民融合发展,把军民融合发展上升为国家战略,加快形成军民融合深度发展格局,要做到()。
下列哪种情况不是急性生殖器炎症后病变
什么是电气间隔?
关于材料保管和使用控制的说法,正确的有()。
持续增长率是对一家公司增长能力非常直接而且客观的度量。( )
下列土地免征城镇土地使用税的有()。
在新闻界,将采访后的评论也加到引文中去的做法被认为是一种不公平的误用。然而,大多数在采访中的真实语言都不如经过一番修改后的精练、准确,由于这样做可以避免那种虽然原文被刊出,但意思却容易被误解的缺陷,所以应当肯定这种做法的合理性。以下哪项指出了上述论证所使用
数据加密使用公钥体制中的加密模型,而数字签名使用【 】模型。
在窗体上画一个名为Commandl的命令按钮,然后编写以下程序:PrivmeSubCommandl_Click()DimM(10)AsIntegerFork=1To10M(k)=12-kNextkx=8Pri
SinceAndrewBentongraduatedfromcollegelessthanfouryearsago,hehasdroppedoutofaPrincetonPh.D.programineconomic
最新回复
(
0
)