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
我是 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