Python 计算平均值:两种算法详解及优劣比较
Python 计算平均值:两种算法详解及优劣比较
本文将介绍两种计算平均值的 Python 算法,并分析它们的优劣。
算法 1:手动累加
- 读入 n 个数,依次累加到变量 sum 中。
- 用 sum 除以 n 得到平均值 average。
- 返回 average。
时间复杂度:O(n)
空间复杂度:O(1)
def average(nums):
n = len(nums)
sum = 0
for num in nums:
sum += num
return sum / n
算法 2:使用内置函数 sum()
- 读入 n 个数,将其存储到数组中。
- 调用 Python 内置函数 sum() 求出数组中所有元素的和。
- 用 sum() 的返回值除以 n 得到平均值 average。
- 返回 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 的内置函数。
您可以在实际应用中根据具体情况选择合适的算法。
原文地址: https://www.cveoy.top/t/topic/mQjt 著作权归作者所有。请勿转载和采集!