Algorithm 作业帮助-复杂性和运行时间
我知道这是一个简单的问题,但请耐心听我说。我被赋予了许多算法复杂性(log(n)、sqrt(n)、n等等),我需要找到可以在指定时间(1秒、1分钟、1小时,…)内求解的最大大小n。指令中还说“…假设算法解决问题需要f(n)微秒”。有人能帮我开始吗?我已经有了答案,我只是不知道如何计算 日志的解决方案(n)=>Algorithm 作业帮助-复杂性和运行时间,algorithm,time-complexity,Algorithm,Time Complexity,我知道这是一个简单的问题,但请耐心听我说。我被赋予了许多算法复杂性(log(n)、sqrt(n)、n等等),我需要找到可以在指定时间(1秒、1分钟、1小时,…)内求解的最大大小n。指令中还说“…假设算法解决问题需要f(n)微秒”。有人能帮我开始吗?我已经有了答案,我只是不知道如何计算 日志的解决方案(n)=> 虽然这是一个可怕的练习,但实际上非常简单。您将获得一个函数f(n)和该函数的值。例如,1秒意味着10^6微秒。因此,基本上要求您求解以下方程式的n: f(n)=10^6,因为10^6us
虽然这是一个可怕的练习,但实际上非常简单。您将获得一个函数
f(n)
和该函数的值。例如,1秒意味着10^6微秒。因此,基本上要求您求解以下方程式的n
:
,因为10^6us是1秒f(n)=10^6
- 因为60秒等于1分钟
- 因为3600秒等于1小时
f(n)
是log(n)
。简而言之,如果你有f(n)=k
,那么要找到n
,你需要f
的反函数。换句话说,n=f-1(k)
对于f(n)=log(n)
,f-1(n)=2^n
现在,您应该能够自己计算连接并解决其他
f(n)
s的家庭作业。谢谢您的帮助!我现在明白了
1 second = 2^(10^6)
1 minute = 2^(6 * 10^7)
1 hour = 2^(3.6 * 10^9)