时间复杂度?这段代码的时间复杂度?

2021-06-04 05:30:04 +08:00
 way2explore2
result = []
for i in n:
  for jj in range(len(m)):
    if jj < 3:
      result.append((n,m))
    else:
      jj = len(m)

n and m are two Python array.

时间复杂度是多少呢?

讨论一下?

1715 次点击
所在节点    编程
7 条回复
kuangwinnie
2021-06-04 06:22:29 +08:00
??这难道不是取决于你 m 是不是定值吗
jhdxr
2021-06-04 07:37:39 +08:00
『 O(n) 因为 inner loop is fixed always 3 』是错的
例如 m 的长度是 10,尽管你 result 只`append`了 3 次,但你的`jj=len(m)`会执行 7 次
polaa
2021-06-04 09:09:22 +08:00
O(n*len(m))
IgniteWhite
2021-06-04 09:39:29 +08:00
0
因为两个空格缩进的 Python 跑不了
rrfeng
2021-06-04 10:05:39 +08:00
@IgniteWhite 哈哈哈哈哈哈,启动解释器和读取文件的时间不算了吗
delacey
2021-06-04 10:36:12 +08:00
@rrfeng 时间复杂度不计算常量部分
way2explore2
2021-06-04 10:40:30 +08:00
@jhdxr 感謝慧眼識真,發現問題所在。

哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/781255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX