Big O如何与N + 1相关?

时间:2010-09-11 23:59:47

标签: orm theory big-o

Big 0尝试回答算法复杂性低效的问题。 N + 1描述了低效率,因为它与单独的查询相关联,以填充集合中的每个项目。

我目前正试图在工作的不同背景下了解这些概念中的每一个,我现在想知道是否有人可以解释这两个概念是否以任何方式相互关联?有人可以提供适用于它们的描述吗?

1 个答案:

答案 0 :(得分:4)

复杂性的大O表示法是使用图灵机的操作次数来定义的,因此可以描述任何算法。 N + 1选择问题描述了低效的关系算法(查询),其对于每个记录总是需要N + 1个操作。由于该查询是一种算法,因此您可以分析其复杂性。

O(N + 1)= O(N)

这意味着您具有线性复杂性。现在,如果我们使用了正确的算法,那么对于两个表中的每一个,我们每个记录只需要一个操作(选择)。复杂性将是:

O(2)= O(1)

该算法具有恒定的复杂性。这表明,通过分析两种算法的复杂性,您将看到哪一个受到N + 1选择问题的困扰。

这是清楚的吗?