首页 > 医生资格> 中医执业助理医师
题目内容 (请给出正确答案)
[单选题]

若希望以O(1)的时间复杂度找到当前结点的前驱,则链表最好采用()。

A.单链表

B.单循环链表

C.双向链表

D.以上均可

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
更多“若希望以O(1)的时间复杂度找到当前结点的前驱,则链表最好采…”相关的问题
第1题
关于某个算法,甲证明“其平均时间复杂度为o(n)”,乙证明“其分摊时间复杂度为o(n)”。若他们的结论均正确无误,则是甲的结论蕴含乙的结论,乙的结论蕴含甲的结论,还是互不蕴含?

点击查看答案
第2题
试为第4章的队列结构增加Queue::getMax()接口,在O(1)时间内定位并读取其中最大元素。要求Queue::dequeue()接口的时间复杂度依然保持为O(1),Queue::enqueue()接口的时间复杂度不超过分摊的O(1)。

点击查看答案
第3题
考查教材9.4.1节介绍的基本桶排序算法。若采用习题[9-11]中的技巧,可将其中散列表初始化所需的时间从O(M)优化至常数。a)算法的整体时间复杂度,是否因此亦有所改进?b)空间方面,需要付出多大的代价?是否会影响到渐进的空间复杂度?

点击查看答案
第4题
已知指针ha和hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试写一算法将
这两个链表连接在一起,假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法的时间复杂度。

点击查看答案
第5题
设使用Pratt序列:对长度为n的任一向量S做希尔排序。试证明:a)若S已是(2,3)-有序,则只需o(n)时间

设使用Pratt序列:

对长度为n的任一向量S做希尔排序。

试证明:

a)若S已是(2,3)-有序,则只需o(n)时间即可使之完全有序;

b)对任何,若S已是(2hk,3hk)-有序,则只需o(n)时间即可使之hk-有序;

c)针对序列中的前o(logtn)项,希尔排序算法需要分别迭代一轮;

d)总体的时间复杂度为o(log2n)。

点击查看答案
第6题
若假定机器字长无限,移位操作只需单位时间,递归不会溢出,且rand()为理想的随机数发生器。试分析

若假定机器字长无限,移位操作只需单位时间,递归不会溢出,且rand()为理想的随机数发生器。试分析以下函数F(n),并以大o记号的形式确定其渐进复杂度的紧上界。

点击查看答案
第7题
试为第4章栈结构增加Stack::getMax()接口,以在O(1)时间内定位并读取栈中的最大元素。要求Stack::push()和Stack::pop()等接口的复杂度依然保持为O(1)。

点击查看答案
第8题
中序遍历迭代式算法的第三个版本(教材131页代码5.18),需反复地调用succ()接口以定位直接后继,从而会相应地增加计算成本。试问,该算法的渐进时间复杂度是否依然保持为o(n)?若是,请给出证明;否则试举一例。

点击查看答案
第9题
考查如教材24页代码1.12所示的二分递归版fib(n)算法,试证明:a)对任一整数1≤k≤n,形如fib(k)的递归实例,在算法执行过程中都会先后重复出现fib(n-k+1)次;b)该算法的时间复杂度为指数量级;c)该算法的最大递归深度为o(n);d)该算法具有线性的空间复杂度。

点击查看答案
第10题
在多叉堆(d-heap)中,每个节点至多可拥有d≥3个孩子,且其优先级不低于任一孩子。a)试证明,多叉堆d

在多叉堆(d-heap)中,每个节点至多可拥有d≥3个孩子,且其优先级不低于任一孩子。

a)试证明,多叉堆decrease()接口的效率可改进至O(logdn);(当然,delMax()接口的效率因此会降至O(d-logn))。

b)试证明,若取d=e/n+2,则基于d叉堆实现的Prim算法的时间复杂度可降至O(e·logdn);

c)这种改进策略是否也适用于Dijkstra算法?

点击查看答案
第11题
设以带头结点的双向循环链表表示的线性表试写一时间复杂度0(n)的算法,将L改造为

设以带头结点的双向循环链表表示的线性表试写一时间复杂度0(n)的算法,将L改造为

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改