腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
Max-Heapify
中
的
最坏
情况
-
为什么
你
可以
得到
2n
/
3
?
、
、
、
、
我已经想出了如何从下面的问题中
得到
2n
/
3
: ‘子树
的
每个子树
的
大小都不超过
2n
/
3
-
最坏
的
情况
发生在树
的
底部恰好是半满
的
时候“T(n) &
浏览 13
提问于2017-12-16
得票数 0
5
回答
Max-Heapify
中
的
最坏
情况
-如何获得
2n
/
3
?
、
、
、
在CLRS,第三版,第155页上,给出了在
MAX-HEAPIFY
中
,我
的
问题是如何
得到
2n
浏览 84
提问于2012-02-02
得票数 86
回答已采纳
2
回答
MAX-HEAPIFY
中
的
最坏
情况
:“
最坏
的
情况
发生在树
的
底部恰好是半满
的
时候。”
、
、
在,第三版,155页上,给出了在
MAX-HEAPIFY
中
,我猜原因是在这种
情况
下,
Max-Heapify
必须通过左子树“向下浮动”。但我不明白
的
是“
为什么
是半满
的
”? 如果左子树只有一个叶子,
Max-Heapify
也
可以
向下浮动。那么
为什么</em
浏览 2
提问于2011-07-28
得票数 16
回答已采纳
1
回答
CLRS完全准确地表示最大运行时间由递归t(N)= T(
2n
/
3
) + O(1)`描述吗?
、
、
、
在第155页
的
CLRS
中
,最大堆
的
运行时间被描述为T(n) = T(
2n
/
3
) + O(1).我理解
为什么
第一次递归调用是针对一个大小为
2n
/
3
的
子问题,在这样
的
情况
下,我们有一个几乎完全
的
二叉树(总是堆
的
情况
),其中最深
的
节点层是半满
的
(我们递归到子树
的
根上,它是包含这些
浏览 2
提问于2016-07-29
得票数 3
回答已采纳
1
回答
在合并排序
中
插入排序
的
最坏
情况
是什么时间?
、
、
、
、
问题2-1:(A)显示插入排序
可以
在O(nk)
最坏
情况
下对长度为k
的
n/k子列表进行排序。答案是: Ans:在
最坏
的
情况
下,插入排序每个k元素列表需要(
浏览 0
提问于2013-08-23
得票数 0
回答已采纳
1
回答
从算法推导时间复杂度
、
、
、
、
在我
的
课堂笔记
中
,提供了一个选择排序算法(如下面的代码所示)。注释提出了以下问题:“导出一个函数f(n),它对应于在
最坏
情况
下修改 minIndex或nums
的
所有位置
的
总次数。现在,注释告诉我,答案是f(n)= 1/
2n
^2 + 5/
2n
+
3
。我想知道是否有人能解释这种
情况
是如何发生
的
。” 我
的
教授让我们数一数内环
的
操作,然后找出我们<
浏览 2
提问于2017-09-24
得票数 0
2
回答
为什么
最坏
的
情况
是最后一半
的
树?
、
我搞不懂堆
的
事。 我无法理解这一点。
为什么
半满?..
为什么
?我认为如果有更多
的
树,可能需要更多
的
时间。否则就少花点时间。 感谢您
的
阅读
浏览 2
提问于2015-04-19
得票数 2
回答已采纳
4
回答
如何估计时间复杂度
的
最佳、最差和平均
情况
?
、
我们如何判断一个算法
的
获得时间复杂度是最好
的
,还是
最坏
的
,还是平均
的
?例如,如果我们
得到
时间复杂度为t(n) =
2n
^2 +
3
n -1,如何估计最好或
最坏
或平均
的
情况
?
浏览 0
提问于2011-09-16
得票数 2
1
回答
合并2最大堆
我需要找到最有效
的
算法合并2个最大堆。 一些重要
的
事实:堆被表示为一个二叉树,这意味着每个节点都有三个字段--值(键)、指向右子节点
的
指针和指向左子节点
的
指针。我
的
想法是:取第二堆
的
最后一页,把他作为新堆
的
根。所以我们
得到
一个新
的
堆,当左子是一个合法
的
最大堆,而右边
的
子堆是一个合法
的
最大堆。问题(在我看来)只是根不是最大元素
的
事实,所以我们
可以
从
浏览 1
提问于2015-12-12
得票数 2
回答已采纳
3
回答
中值选择
的
最佳中位数-
3
个元素块与5个元素块?
、
、
、
、
让我困惑
的
是选择5个元素
的
块而不是
3
个元素
的
块。在我看来,对于5个元素
的
块,您执行
的
是n/4 = n/5 + n/25 + n/125 + n/625 + ... 5
中
值运算,而对于
3
个元素
的
块,您执行
的
是n/2 = n/
3
+ n/9 + n/27+ n/81 + ...
3
<em
浏览 0
提问于2010-10-12
得票数 11
回答已采纳
1
回答
线性选择时间复杂度
假设线性选择使用大小为
3
的
子序列,
最坏
情况
下
的
运行时间不再是O(n)。我得出
的
结论是时间复杂度是
3
n+T(n/
3
)+T(
2n
/
3
)。现在假设T(n)等于或小于cn。但是当我分离c
的
时候,我不能
得到
c,它们只是相互抵消。发生这种
情况
是因为它不是cn吗?
浏览 14
提问于2020-05-24
得票数 1
回答已采纳
2
回答
使用
3
块
的
中间值-
为什么
它不是线性
的
?
、
我理解
为什么
在
最坏
的
情况
下,T是该算法
的
运行时间,而使用具有大小为
3
的
块
的
中间值算法会给出一个递归关系。T(n) = T(
2n
/
3
) + T(n /
3
) + O(n) 表示,对于大小为
3
的
块,运行时不是O(n),因为它仍然需要检查所有n个元素。我不太明白这个解释,在我
的
家庭作业
中
,它说我需要通过归
浏览 1
提问于2016-06-06
得票数 1
2
回答
尝试理解max heapify
、
、
、
、
我不理解
max-heapify
的
功能。它看起来像一个递归函数,但不知何故,由于树
的
高度,它被认为是以对数时间运行
的
。 对我来说,这毫无意义。在
最坏
的
情况
下,它不是必须颠倒每一个节点吗?我不明白如何在不重复触及每个节点
的
情况
下做到这一点。
浏览 0
提问于2016-01-28
得票数 5
回答已采纳
1
回答
在平均n+ log比较中找到n个数
中
的
最大值和第二大值
、
、
、
、
我们知道,找到列表中最小数字
的
最简单方法是简单地进行n次比较,如果我们想要第二个最小
的
数字,我们
可以
再次检查它,或者在第一次迭代期间跟踪另一个变量。无论哪种方式,这将需要
2n
次比较才能找到这两个数字。但是假设
你
不得不使用简单
的
算法,这个算法需要
2n
次比较。在
最坏</e
浏览 4
提问于2013-03-11
得票数 1
回答已采纳
2
回答
使用最多
3
/
2n
次比较查找数组
中
两个元素之间
的
最大差异
、
,a_n} 在数组中找到两个元素之间
的
最大差异(在
最坏
的
情况
下使用至多
3
/
2n
比较
的
max|a_i-a_j|))(运行时无关紧要,我们不能使用诸如max或min之类
的
操作)。我真的很怀疑这是否可能:为了找到两个元素
的
最大差异,在
最坏
的
情况
下,我们不应该总是需要关于
2n
比较,因为我们需要使用大约n个比较来找到数组中最大
的
元素,并使用另外n
浏览 0
提问于2021-02-17
得票数 4
1
回答
3
递推T(n)与主定理
、
、
、
、
假设我有下面的代码,我
的
任务是查找递归
的
T(n)及其
最坏
的
运行时。如果n是列表
的
长度
的
值。在这种
情况
下,我们有
3
个递归,mystery(mylist[:len(mylist)-t-1])、mystery(mylist[t:len(mylist)- 1])和mystery(mylist[:len(mylist[:len(mylist)-t-1]) 对于递归
情况
,我
的
观察是因为递归是在一起
的
,所以递归是
浏览 6
提问于2021-11-08
得票数 1
1
回答
MAX_HEAPIFY算法与
最坏
情况
的
递推关系
、
、
、
在通过时,我发现了
max-heapify
算法
的
递归关系.事实上,我
的
老师很小地证明,最大化过程
的
时间复杂性是O(logn),这仅仅是因为最糟糕
的
情况
是,根必须从顶部一直到最后一层“泡沫/漂浮”。这意味着我们逐层移动,因此步骤
的
数量等于堆
的
级别/高度
的
数目,正如我们所知,堆
的
高度是由logn所限制
的
。当然
可以
。 然而,同样
的
情况
浏览 5
提问于2021-05-22
得票数 1
回答已采纳
1
回答
在这种
情况
下,在O(N)表示法
中
需要一个常数吗?
、
、
、
、
在这个中,作者说get(index)在ArrayList
中
是O(1),而在LinkedList
中
是O(n/2),因为它需要遍历直到那个条目。在ArrayList中使用恒定时间
的
get操作是有意义
的
,因为ArrayList
可以
访问所有索引。但是,我不理解LinkedList
的
O(n/2)。我被教导
的
方式是,当你使用大
的
哦符号,
你
应该写它没有常数,使它更容易解释给别人;也就是说,O(n),而不是O(
2n</em
浏览 3
提问于2014-09-18
得票数 1
回答已采纳
1
回答
交叉口
的
时间复杂性(
最坏
的
情况
)
很难找到
最坏
情况
下
的
时间复杂度。本例适用于大小相同(n)
的
两个排序数组
的
交叉。不确定如何计数带两个条件
的
while循环,也不确定如何计数if和else if语句 我知道最大
的
0将是N+N,但不知道如何显示
最坏
的
情况
。
浏览 3
提问于2020-11-20
得票数 0
回答已采纳
1
回答
clrs书中堆排序算法
的
一个陈述
请解释图中带下划线
的
语句。它来自CLRS
的
6.2节。子树大小最大为
2n
/
3
是多少?
浏览 0
提问于2017-06-14
得票数 0
点击加载更多
相关
资讯
为什么3分钟就可以完成的工作,你却要花2个小时
Excel中明明可以用3秒就解决的问题,你却花了几个小时
峡谷中可以打多位置的3位英雄,流浪算一个,你还能想到谁?
用Python实现所有排序算法的开源项目你见过么?
《每日一题》-最长回文子串
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券