Python 计算平均值:两种算法详解及优劣比较

本文将介绍两种计算平均值的 Python 算法,并分析它们的优劣。

算法 1:手动累加

  1. 读入 n 个数,依次累加到变量 sum 中。
  2. 用 sum 除以 n 得到平均值 average。
  3. 返回 average。

时间复杂度:O(n)

空间复杂度:O(1)

def average(nums):
    n = len(nums)
    sum = 0
    for num in nums:
        sum += num
    return sum / n

算法 2:使用内置函数 sum()

  1. 读入 n 个数,将其存储到数组中。
  2. 调用 Python 内置函数 sum() 求出数组中所有元素的和。
  3. 用 sum() 的返回值除以 n 得到平均值 average。
  4. 返回 average。

时间复杂度:O(n)

空间复杂度:O(n)

def average(nums):
    n = len(nums)
    sum = sum(nums)
    return sum / n

两种算法比较

算法 1 和算法 2 都能计算出平均值,但它们的效率有所不同。

  • 算法 1 的空间复杂度为 O(1),因为只使用了一个变量 sum 来存储累加值。而算法 2 的空间复杂度为 O(n),因为需要存储整个数组。
  • 算法 1 和算法 2 的时间复杂度都为 O(n),因为都需要遍历所有元素。

总体而言,算法 1 更加高效,因为它只需要额外的常数空间。但是,算法 2 更简洁易懂,因为利用了 Python 的内置函数。

您可以在实际应用中根据具体情况选择合适的算法。

Python 计算平均值:两种算法详解及优劣比较

原文地址: https://www.cveoy.top/t/topic/mQjt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录