Python中sum()的时间复杂度是多少?

Python中sum()的时间复杂度是多少?,python,sum,time-complexity,Python,Sum,Time Complexity,sum()函数的时间复杂度是多少 这取决于您的数据结构。对于一个简单的列表,你不能做得比O(n)更好,因为你必须查看列表中的每一项才能把它们加起来 如果有疑问,请尝试:import profile是您的朋友 对于一个大的整数列表,它必须是O(n)。它将在迭代器上进行θ(n)下一次调用,以及θ(n)加法,其中n是要求和的项数 对于调用未知代码的算法的时间复杂度,这是非常具体的。如果每次加法所花费的时间取决于n(例如,当对lists求和时,就像sum(list(range(i))对范围(n)中的i进

sum()函数的时间复杂度是多少

  • 这取决于您的数据结构。对于一个简单的列表,你不能做得比O(n)更好,因为你必须查看列表中的每一项才能把它们加起来

  • 如果有疑问,请尝试:
    import profile
    是您的朋友

  • 对于一个大的整数列表,它必须是O(n)。

    它将在迭代器上进行θ(n)
    下一次调用,以及θ(n)加法,其中
    n
    是要求和的项数


    对于调用未知代码的算法的时间复杂度,这是非常具体的。如果每次加法所花费的时间取决于
    n
    (例如,当对
    list
    s求和时,就像
    sum(list(range(i))对范围(n)中的i进行求和一样)
    ),那么这将影响整体的时间复杂度。

    伙计,当你不提供算法时,谁能告诉你时间复杂度呢其中n=#个值。使用两个值和两亿个值进行尝试。如果第二个时间比第一个长,它可能不是O(1)。。。我想要一个O(1)和算法。我想如果你知道序列,你有时可以在O(1)中这样做:)(但是,当然,python对序列的属性一无所知,所以优化不太可能进入语言;)你可以始终保持一个运行的和作为序列的属性,如果你愿意做插入和移除的工作。我不能说我明白这一点,除非你反复地对大序列求和(比插入或删除元素的次数要多得多),但它允许O(1)。