当前位置: 首页 > 面试题库 >

应用f(n)= 2 ^ n的大师定理

贺飞
2023-03-14
问题内容

我正在尝试将Master定理应用于此类重复发生:

T(n)= T(n / 2)+ 2 ^ n

但是,f(n)= 2 ^ n似乎不适合大师定理中所述的三种情况,这三种情况似乎都以n为底,而不是以2为底。有人请帮忙吗?谢谢。


问题答案:

如果该定理的所有情况均不适用,则该定理将无法解决您的递归问题。它不能解决那里的每一个重复。

要解决您的问题:通过反复替换递归案例,您将获得T(n)= 2 ^ n + 2 ^(n / 2)+ 2 ^(n / 4)+ … +
2,并且由于存在登录n个项加起来,最终得到的东西要小于2 ^(n + 1),所以总的来说,你是Θ(2 ^ n)。



 类似资料:
  • 问题内容: java.util.Random源代码的第294行说 为什么是这样? 问题答案: 该描述并不完全准确,因为0不是2的幂。更好的说法是 当n是2的幂或2的幂的负数或零时。 如果n是2的幂,则二进制中的n是单个1,后跟零。-n为2的补数是倒数+ 1,因此位排成一行 要了解其工作原理,请将二进制补码视为逆+ 1。 因为当您添加一个得到两个的补码时,您会一直进行到一个。 如果n不是2的幂,则结

  • 本文向大家介绍在C ++中找到(1 ^ n + 2 ^ n + 3 ^ n + 4 ^ n)mod 5,包括了在C ++中找到(1 ^ n + 2 ^ n + 3 ^ n + 4 ^ n)mod 5的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将解决以下问题。 给定一个整数n,我们必须找到(1 n +2 n +3 n +4 n)%5 如果n大,则数字(1 n +2 n +3 n +4

  • 在此批处理配置中,我在何处/如何创建TEstLayout的新实例?

  • 题目链接 NowCoder 题目描述 要求不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 A ? B : C。 解题思路 使用递归解法最重要的是指定返回条件,但是本题无法直接使用 if 语句来指定返回条件。 条件与 && 具有短路原则,即在第一个条件语句为 false 的情况下不会去执行第二个条件语句。利用这一特性,将递归的返回条件取非然后作为

  • orderer-n-kafka-n 启动一个可扩展的服务,包括 zookeeper、若干个 fabric-order 和若干个 kafka 节点。 如,启动 3 个 order 节点和 5 个 kafka 节点。 $ docker-compose up -d zookeeper$ docker-compose up -d kafka$ docker-compose scale kafka=5$ d

  • 问题内容: 在Java中,表达式为: 似乎等于: 尽管是有效的一元运算符,其优先级高于中的算术运算符。因此,编译器似乎假设该运算符不能为一元运算符,并解析该表达式。 但是,表达式: 即使存在以下唯一有效的解决方案,也不会编译: 和被指定为具有相同的优先级,那么为什么编译器为支持算术而解决看似模棱两可的问题,但为什么不这样做呢? 问题答案: 首先使用最大修改规则将文件标记化(转换为标记序列)-始终获

  • 我已经实现了两种从最高到最低排序元素的算法。 第一种方法在真实RAM模型上采用二次时间,第二种方法采用O(n log(n))时间。第二种方法使用优先级队列来获得缩减。 这里是计时,这是上述程序的输出。 > 尽管在复杂度上存在巨大差异,但就所考虑的数组大小而言,第三列要比第二列大。为什么会这样?C的优先级队列实现慢吗? 我在Windows7上执行了这段代码,VisualStudio2012是32位的

  • LIS:最长递增子序列问题是寻找给定序列的子序列,其中子序列的元素按从低到高的顺序排序 例如: 0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15 此算法是否? 你能解释一下吗?