我目前正在了解uni的算法的时间复杂性,而且我很难理解。
如果我们有两个复杂性: x是n y是n ^ 2
要计算100个项目需要10秒 要计算100个项目需要5秒
2500件物品需要多长时间。
你会考虑复杂性(例如n)然后使其等于100并且需要10秒。
所以它会成为
100 = 10
然后计算每个项目的时间
100/10 =(每件物品的时间)
然后乘以项目数量2500?
这是正确的做法吗?
答案 0 :(得分:0)
对于x:
线性时间O(n)表示如果输入大25倍(从100到2500),则运行时间将延长25倍,即10 * 25 = 250秒。
对于y:
二次时间O(n ^ 2)表示如果输入大25倍(从100到2500),则运行时间将延长25 ^ 2倍,即5 * 25 ^ 2 = 625秒。
答案 1 :(得分:0)
时间的复杂性是这里的红鲱鱼;他们与问题无关,这涉及组合费率:
IN ONE SECOND: x可以做10件物品 你做了20件。
所以,x和y一起每秒做30件。
因此,执行2500项的秒数为2500/30 = 83 1/3秒。