- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对此很沮丧。
在 CLRS 第 3 版第 95 页(第 4.5 章)中,它提到像
T(n) = 2T(n/2) + n lg n
不能用主定理解决,因为差异
f(n)/n^(log_b(a)) = (n lg n)/n^1 = lg n
不是多项式。
但后来我遇到了像 this 这样的页面在页面底部,它提到了完全相同的循环,并说它可以用主定理解决,因为它属于“扩展案例 2”,即使差异是非多项式的。它变为 n lg^2 n
(将 f(n)
上的对数因子增加一)。
然后我遇到像 this 这样的页面其中示例 (e) 似乎是扩展案例 2 的明确应用(重复是 T(n) = 4T(n/2) + n^2 lg n
),但解决方案是不是n^2 log^2 n
,而是n^2 log n
!是我错了还是论文错了?
谁能澄清矛盾并明确说明什么时候可以使用Master Theorem,什么时候不能使用?多项式差分检查什么时候重要,什么时候不重要?扩展案例 2 是否可用,或者它实际上是否违反了某些内容?
编辑:
我尝试直接从第二篇论文中解决递归 (e),我得到:
T(n) = n^2 lg^2(n)/2 + n^2 lg(n)/2
这不是大 theta n^2 lg^2 n
吗?
最佳答案
书上说不能用Case 3解决:
even though it appears to have the proper form: ... You might mistakenly think that case 3 should apply
然而,这个递归公式可以使用主定理求解,情况 2。
T(n) = 2T(n/2) + nlgn:
我们定义:
a = 2, b = 2, f(n) = nlgn
c = log_2(2) = 1
k = 1
f(n)
确实在 Theta(nlogn)
中。
因此,掌握定理案例 2 的所有条件都适用,我们可以推导出:
T(n)
在 Theta(n^c * log(n)^(k+1)) = Theta(n*log(n)^2)
长话短说,大师定理有3个案例。每个案例都有其适用的先决条件。案例 3 的先决条件更复杂,因为它也需要收敛。
因为case 3的先决条件不适用于这个公式,你不能使用case 3。但是,case 2的先决条件 - 确实适用,你可以使用它。
关于algorithm - Master Theorem 什么时候可以实际应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34579710/
分布式系统如何保持一致和可用-CA。因为当分区发生时,CA是不可能的。如果我们说不会发生分区,那么只有它们是CA,那么如果分区不会发生,那么所有CP或AP系统也将是CA。 最佳答案 不可以 如常提到的
考虑以下片段: import Data.List %default total x : Elem 1 [1, 2] x = Here type : Type type = Elem 1 [1, 2]
我有以下目标: ∀x ∈ {0,1,2,3,4,5}. P x 我想将这个目标分解为六个子目标 P 0、P 1、P 2、P 3、P 4 和 P 5。这可以通过 apply auto 轻松完成。但是 a
我有以下目标: ∀x ∈ {0,1,2,3,4,5}. P x 我想将这个目标分解为六个子目标 P 0、P 1、P 2、P 3、P 4 和 P 5。这可以通过 apply auto 轻松完成。但是 a
主定理可用于求解递归关系,例如T(n)= aT(n/b)+f(n)。 那么,如果 f(n)=O(n) 或 f(n)=cn 两者的值是否相同?我也可以对 f(n)=cn 使用主定理吗? 最佳答案 假设
我是一个绝对的初学者,不是程序员,正在尝试使用 Logic and Proof 学习形式验证.我无法在精益中导入任何东西。 我将二进制文件的 tar 文件提取到 /tmp 然后执行 /tmp/lean
如果我理解正确(主要来自 applyTactic 函数的存在),则可以为 Idris 中的定理证明器编写自定义策略。我可以用什么(或哪里)的例子来学习如何做到这一点? 最佳答案 在 Idris 中有两
如何导出该类型的自由定理: data F a = C1 Nat | C2 Bool Nat a Nat 就是 data Nat = Z | S Nat? 原则上,Haskell 的“free-theo
我正在尝试使用 Kowalski 图算法来求解定理证明。算法的描述位于 http://www.doc.ic.ac.uk/~rak/对于如何处理大事件却保持沉默它生成的重复子句的数量。我想知道是否有处理
我对此很沮丧。 在 CLRS 第 3 版第 95 页(第 4.5 章)中,它提到像 T(n) = 2T(n/2) + n lg n 不能用主定理解决,因为差异 f(n)/n^(log_b(a)) =
沿着 The Haskell Road to Logic, Maths and Programming,你可以找到第 48 页 定理 2.12.1 ¬ ⊤ ≡ ⊥和它的反面 ¬ ⊥ ≡ ⊤ 本书使用
在我的网页上,我展示了数学定理,页面设计与学术数学论文 (LaTeX) 中使用的风格非常接近。标题结构可能如下: 几何 平面几何 定理。 我们有 a²+b²=c²。 问题:我应该使用 吗?标签附上
我(错误地)学习了关于验证并发程序的类(class),到目前为止我们已经介绍了这种称为“Owicki-Gries 方法”的方法。显然,可以通过将断言与每个语句相关联来证明有关程序的各种结果,并表明这些
我正在做一个 bookdown 项目,遇到了定理环境的问题。当我编译为 gitbook、epub_book 或 tufte_html_book 时它可以工作,但是 不是 到 pdf_book。以下是我
我从 Isabelle 的维基百科页面获得了以下代码: theorem sqrt2_not_rational: "sqrt (real 2) ∉ ℚ" proof assume "sqrt (
问题: 我的碰撞函数的某些输入似乎没有给出正确的结果。我实现了 SAT 算法来测试边界框和三角形的碰撞。当边界框处于负坐标并且三角形的 1 个点伸入其中时,输入不起作用。 示例输入: 这个输入没有发生
我一般看过两个版本的大师定理。 版本 1: (来自 Tim Roughgarden's course) 对于形式的递归关系, T(n) = 1, b > 1, and d >= 0 有3种情况, ca
我正在尝试证明在Agda中的简单引理,我认为这是对的。 If a vector has more than two elements, taking its head following taking
关于 list 1,需要类型级公理 (t a) = (t (getUI(t a))) 应该作为每个特定类型类实例的定理可推导。 test 函数的编译是否证明类型级公理适用于程序中的特定类型?编译是否提
根据Automating Induction with an SMT Solver以下应该适用于 Dafny: ghost method AdjacentImpliesTransitive(s: se
我是一名优秀的程序员,十分优秀!