Python生成器时间复杂度日志(n)

2024-04-25 09:47:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在python3系列中,它是在发电机的帮助下建造的

对数时间-O(logn) 当一个算法在每一步中减少输入数据的大小时,它的时间复杂度是对数的。例如,如果我们在生成器的帮助下打印前10个数字,首先我们将得到一个元素,这样剩余的9个元素必须处理,然后第二个元素,这样剩余的8个元素必须处理

for index in range(0, len(data)):
    print(data[index])

当我检查url python generators time complexity confusion时,它说的是O(n)。你知道吗

因为每次它只生成一个输出,因为我们需要做__next__ 它将是每次1单位成本。你知道吗

我能解释一下吗


Tags: 数据in算法元素fordataindex时间
1条回答
网友
1楼 · 发布于 2024-04-25 09:47:52

对数时间复杂性的解释是错误的。你知道吗

如果将输入的大小减少一个分数,而不是一个固定的数量,则会得到对数复杂度。例如,二进制搜索在每次迭代中将大小除以2,所以它是O(logn)。如果输入大小是8,则需要4次迭代,将大小加倍到16只会将迭代次数增加到5。你知道吗

相关问题 更多 >