gpt4 book ai didi

algorithm - 如何找到任何算法的大 O/时间复杂度

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:44 25 4
gpt4 key购买 nike

全部,

在寻找给定代码/算法的复杂性时,我总是怀疑自己。例如。

FOR I=1 TO N
do J=1
WHILE J*J < I
do J=J+1

以上代码的时间复杂度为 Big Theta (N^(3/2)) 。但是,我不明白答案是如何得出的。

任何人都可以指导我找到复杂性的步骤或可以帮助我的任何特定资源吗?大多数时候,我只找到复杂度为 N, lg N , N lg NN^2

的代码

最佳答案

方法总是一样的:算出有多少操作作为N的函数被执行,然后丢弃低阶项和常量。

所以在上面的示例中,内部循环迭代了大约 sqrt(I) 次,所以我们有(大约)sqrt(1) + sqrt( 2) + sqrt(3) + ... 结果是一个函数,其最高阶项是 N^(3/2)。

关于algorithm - 如何找到任何算法的大 O/时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4939923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com