首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设线性表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
53
问题
设线性表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
学硕统考专业
相关试题推荐
写出单总线结构计算机中指令M()VER1,R2(含义是将寄存器R1中内容写入寄存器R2中)的操作步骤。
如下图所示的AOE网,求:每项活动ai的最早开始时间e(ai)和最迟开始时间l(ai)。
如下图所示为一个TCP主机中的拥塞窗口的变化过程,这里最大数据段长度为1024字节,请回答如下问题:在14次传输的时候阀值为多少?
给定页面请求序列RS—cadbebabcd,页框为4,起始为空,写出LRU页面置换过程。
关于死锁的银行家算法是围绕“安全状态”的概念工作的。当系统预测到不安全状态时,就拒绝分配资源,但是,银行家算法要求的条件并不是必要的。例如,某系统有12个资源供进程P0、P1、P2使用。目前的分配情况如下:请说明系统并不一定死锁。
一个16端口的二层以太网交换机,冲突域和广播域的个数分别是()。
系统拥有一个CPU,IO1和IO2为两个不同步的输入/输出装置,它们能够同时工作,当使用CPU之后控制转向IO1、IO2时,或者使用IO1、IO2之后控制转向CPU时,由控制程序执行中断处理,但这段处理时间忽略不计。有A、B两个进程同时被创建,进程B的调度
随机试题
硬膜外阻滞麻醉根据阻滞部位可分为
李老汉因房屋租赁纠纷将房客王某告上法庭,案件立案后法院通知李老汉预交150元的诉讼费。李老汉提出申请减免诉讼费,结果法院认为李老汉虽然是孤寡老人,可是在京城有两处房产出租,生活并不困难,遂驳回了李老汉的申请。李老汉坚持不交诉讼费用,却依然开始准备证据出庭
投资者可筹集到的优先资金如果不用于拟建项目而用于其他最佳投资机会所能获得的收益率是( )。
地下燃气管道埋设的最小覆土厚度(路面至管顶)应符合相关要求,埋设在车行道下时,最小覆土厚度不得小于()m。
其他合作机构风险的防控措施不包括()。
MMPI的编制方法属于()。
在汉字的形体演变过程中,位于小篆和楷书之间的字体是()。
A、 B、 C、 D、 C
有以下程序 #include<stdio.h> #defineS(x)x*x/x main() {intk=6,j=3; printf("%d,%d\n",S(k+j+2),S(j+k+2); } 程序运行后的输出结果是(
Weareamagazine,whichwillgiveyouinsideinformationyouwon’tfindelsewhere.
最新回复
(
0
)