- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
你如何找到这段代码的渐近时间复杂度?
for i=1 to n do
j=2
while j<i do
j=j*j
在我的笔记中我有答案 O(n*log(logn)) 但没有解释。
最佳答案
第一个 for 循环运行 n 次。内部循环在正方形中迭代,因此将采用 O(loglogn)
因此,总复杂度为 O(n*log(logn))
。
要理解为什么在正方形中迭代需要 O(log(logn))
时间,请看这个方式:
假设 n 是 2^16 这样大的数。
Initially: j = 2
1st step : j = 2^2
2nd step : j = 2^4
3rd step : j = 2^8
4th step : j = 2^16.
因此它只需要 4 个步骤,即 loglog(2^16)。
所以现在对于任何 n = 2^k
,您从 2 开始,每次都进行平方。因此,您最多可以进行 O(logk)
平方来达到 k。由于 n = 2^k
,因此,k = log(n)
因此 O(logk)
与 O(日志(日志))。
关于algorithm - 你如何找到这些循环的渐近时间复杂度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37644681/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!