Python generator time complexity log(n)

Non*_*ons 0 python generator time-complexity space-complexity

In python3 range built with help of generators

对数时间— O(log n)当算法在每一步中减少输入数据的大小时,被称为具有对数时间复杂度。例如,如果我们要在生成器的帮助下打印前10位数字,则首先将得到一个元素,因此剩下的9个元素必须处理,然后再得到第二个元素,因此剩下的8个元素必须处理

for index in range(0, len(data)):
    print(data[index])
Run Code Online (Sandbox Code Playgroud)

当我检查python生成器的时间复杂度时,它说O(n)。

由于每次它只生成一个输出(因为我们需要这样做),__next__ 因此每次将生成1个单位成本。

我可以对此进行解释吗

Bar*_*mar 5

对数时间复杂度的这种解释是错误的。

如果将输入的大小减少一小部分,而不是固定的数量,则会得到对数复杂度。例如,二进制搜索在每次迭代时将大小除以2,因此它是O(log n)。如果输入大小为,8则需要4迭代,将大小加倍即可16将迭代次数增加到5