python 索引如何影响 o 符号的运行时间?

how does python indexing affect runtime of o-notation?

我是 O 表示法的新手,正在尝试为我的一些代码找到最坏情况下的 运行时间。唯一的问题是我对 O-notation 运行s 与索引和追加的关系感到困惑,所以我想我会寻求以下示例代码的帮助:

def sums_1(L):
  n = len(L)
  tot = 0
  M = []
  for i in L[:n//2]:
    M.append(i)
  for i in L[n//2:]:
    M.extend(L)
  return sum(M)

def sums_2(s):
  def help_e(s, pos):
    if pos >= len(s):
      return ''
    return help_e(s, pos+1) + s[pos]
  return help_e(s, 0)

我认为这两个代码都会 运行 o(n) 次,但我想澄清一下索引以及它如何影响 运行 时间,谢谢!

这里有几乎每个 python 数据结构操作的 big-o 符号的 wiki 文件:https://wiki.python.org/moin/TimeComplexity