Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 运行时间为100n^2的算法的最小n值是多少_Algorithm - Fatal编程技术网

Algorithm 运行时间为100n^2的算法的最小n值是多少

Algorithm 运行时间为100n^2的算法的最小n值是多少,algorithm,Algorithm,在同一台机器上,运行时间为100n^2的算法比运行时间为2^n的算法运行得快,n的最小值是多少 范围 虽然我对答案感兴趣,但我更感兴趣的是如何一步一步地找到答案(这样,如果可能的话,我可以重复这个过程来比较任何两个给定的算法) 从MIT Press Algorithms book中,您需要n的值,其中100×n2小于2×n 这是100×n2-2×n

在同一台机器上,运行时间为100n^2的算法比运行时间为2^n的算法运行得快,n的最小值是多少

范围
虽然我对答案感兴趣,但我更感兴趣的是如何一步一步地找到答案(这样,如果可能的话,我可以重复这个过程来比较任何两个给定的算法)


从MIT Press Algorithms book

中,您需要
n
的值,其中100×n2小于2×n

这是100×n2-2×n<0的溶液,正好是
0

千言万语:

编辑:

原始问题讨论的是2×n,而不是2n(见注释)

对于2n,前往


答案是15你必须知道的第一件事是运行时间的含义。如果我们从理论上讨论算法,那么算法的运行时间是根据输入的大小完成的步骤数(或时间量)(输入的大小例如是位数,但有时也会考虑其他度量)。从这个意义上讲,需要最少步骤的算法是最快的

在你的两个公式中,n是输入的大小,100*n^2和2^n是两个算法运行的步数,如果输入的大小为n

乍一看,2^n算法看起来比100*n^2算法快得多。例如,对于n=4100*4^2=1600和2^4=16


然而,2^n是指数函数,而100*n^2是多项式函数。这意味着当n足够大时,2^n>100*n^2。因此,您必须解决不合格100*n^2<2^n。对于相当小的n,情况已经如此,因此您可以从n=5开始计算函数,几分钟后就可以得到问题的答案。

可以想象,它大于
100m²=2m时的值
m
,这可能会让人想起
100m²-2m=0
。你为什么要否决这个问题?问题就在麻省理工学院的书上。哇…你上面的
是谁?stackexchange的一个(错误-?)功能是,无论是向上投票还是向下投票都不需要评论,如果评论的文本没有声明评论,则没有与评论相关的投票(说到这里:我没有投票)。我强烈建议您检查您的问题,并告诉我们这是否是您想要问的问题。“2n”看起来很可疑,因为你的问题没有意义。如果100n^2<2n,则不存在整数。敏锐的观察啃咬者,正确的问题是100n^2<2^n。谢谢你抓住了是的,我想这是一些类似的东西,直到“总是这样”先生让我头疼。我一时不确定那里发生了什么(哈哈)。谢谢。一张图片就是1000个单词,哈哈。如果你不介意我问的话,你是用什么来生成这个漂亮的小图形的?@NateNeuhaus gnu octave。但是这个问题要求计算2^n,而不是2n:)仍然是一个很好的答案。谢谢@AXIOM的提问2^n。对于n个正整数,谢谢你的回答,但是这个问题是关于实践而不是理论的。此时,我正在做这本书第一章和第二章的练习,不太确定我的答案。就数学而言,我知道指数函数的增长速度比线性函数快得多。但是谢谢你的时间。如果你在做“算法”,而不是说“用c++编程”,那么你在做理论,而不是实践。请注意,问题被回滚到错误的版本(线性函数2n在本文中没有太大意义),并且您接受的答案回答了错误的问题。(我刚从这里开始,还没有足够的声誉对此做任何事情,或者对错误的答案发表评论。)我正在做算法。。。(等待)在C++中!华生,我在理论上的一些实践是怎样的呢?还是我只是在理论上进行实践?霍普杰真的很感谢你的贡献。你是学者吗?上一次我发现有10多句话是这样说的:“你必须用蛮力来做。”作者是一位著名的教授!