我试图找到这个代码片段的大O:
for (j = 0; j < Math.pow(n,0.5); j++ ) {
/* some constant operations */
}
Run Code Online (Sandbox Code Playgroud)
由于循环运行√n次,我假设这个for循环是O(√n).但是,我在网上读到√n= O(logn).
这对于循环O(√n)还是O(logn)?
谢谢!
我正在尝试设置一个PHP服务器,以便我可以使用Dreamweaver中的"实时"功能,除了能够在我的浏览器中预览,而不必每次都通过FTP应用程序上传.php文件,这是无效的当我想做快速的小预览.
我已经设置了一个新网站,并在我的本地驱动器上为该网站选择了一个文件夹.
对于服务器,我有以下信息(我不知道它有多少相关):
当我测试服务器时,它是成功的,我能够让站点/服务器显示在"管理站点"中.但是,当我想在"实时"预览面板上测试我的.php文件或在Chrome中作为预览时,我收到错误消息:"无法解析与动态相关的文件,因为此服务器的网站定义不正确".当我手动将.php文件上传到我的FTP时,页面会正常显示,但是当我尝试这样做时它要么不起作用,要么Chrome预览模式只是吐出整个原始代码.
我尝试了谷歌搜索,但我找不到解决这个问题的方法.任何帮助将不胜感激.
旁注:我有来自GoDaddy的托管,而那里的服务器基于MySQL.
谢谢.
我们要通过重复替换来解决递归关系:
T(n)=T(n-1)+logn
Run Code Online (Sandbox Code Playgroud)
我开始替换并得到以下内容.
T(n)=T(n-2)+log(n)+log(n-1)
Run Code Online (Sandbox Code Playgroud)
按对数乘积规则,log(mn)= logm + logn,
T(n)=T(n-2)+log[n*(n-1)]
Run Code Online (Sandbox Code Playgroud)
继续这个,我明白了
T(n)=T(n-k)+log[n*(n-1)*...*(n-k)]
Run Code Online (Sandbox Code Playgroud)
我们知道基本情况是T(1),所以n-1 = k - > k = n + 1,并在我们得到的中取代
T(n)=T(1)+log[n*(n-1)*...*1]
Run Code Online (Sandbox Code Playgroud)
显然n*(n-1)*...*1 = n!所以,
T(n)=T(1)+log(n!)
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这一点.答案只是O(log(n!))?我已经读过其他解释说它是Θ(nlogn),因此它遵循O(nlogn)和Ω(nlogn)分别是上限和下限.
我知道模数给出了余数,而这段代码将给出约瑟夫斯问题的幸存者。我注意到一种模式,当 n mod k = 0 时,起始计数点开始于圆圈的最开头,当 n mod k = 1 时,紧挨着圆圈开头的人在整个圆圈的执行过程中幸存下来.
我只是不明白这个递归如何使用模数来找到最后一个站立的人以及 josephus(n-1,k) 实际上指的是什么。它是指最后一个被处决的人还是特定回合中最后一个幸存者?
def josephus( n, k):
if n ==1:
return 1
else:
return ((josephus(n-1,k)+k-1) % n)+1
Run Code Online (Sandbox Code Playgroud) 我想出了如何比较两个文件并使用其状态代码来查看文件是否相同。问题是,它仅在比较区分大小写时才有效。我使用了 cmp 命令的状态码。
我怀疑我要使用通配符(即“ [Aa][Bb][Cc][等等...] ”)。但我不知道如何将其实现到 cmp 命令中。
我接受了一个开发人员实习职位的面试,他们让我明天写一个考试(今天得到了面试报告,所以这是一个短暂的通知).忍受我和我的n00bish问题,但我在大约4个月内没有完成C++而且我必须学习两个中期,所以我没有足够的时间自己查看.
从本质上讲,我想知道C++中的死锁和竞争条件是什么,以及这些简单和中间级别的例子是什么.
谢谢你的帮助!:)
algorithm ×2
big-o ×2
recursion ×2
bash ×1
c++ ×1
comparison ×1
deadlock ×1
dreamweaver ×1
glob ×1
java ×1
josephus ×1
modulus ×1
mysql ×1
php ×1
recurrence ×1
sql-server ×1
testing ×1