新手入坑,请各位大佬指点下时间复杂度该怎么去区分呢?
比如 例子: a = [xxx,yyy,xxx] b = [yyy,xxx,yyy] c = set()
for i in a:
c.add(i)
for i in a:
c.add(i)
sorted(c)
以上例子的时间复杂度应该怎么计算呢?
小白再次谢谢各位大神们的支援了~~~
1
lhx2008 2019-11-26 16:54:54 +08:00 via Android
各个数据结构的各个操作的时间复杂度,python 有一篇文档直接告诉你了,你就算一下就好了
|
2
Lsj777 OP @lhx2008 谢谢大佬 不过我想问的是 比如在两个 for 循环之后 sorted,这种时间复杂度应该怎么计算出来呢?是 2n+n*log(n) 吗?
|
3
lhx2008 2019-11-26 16:57:16 +08:00 via Android
当然,dict/set 类型 和 list 因为数据结构不同,对于同一个操作复杂度是有差异的,但是这两个大类的复杂度和教科书以及和大多数其他语言都是相同的
|
6
lhx2008 2019-11-26 17:01:47 +08:00 via Android
通常来说,你这整个时间复杂度是 O(nlogn) n=len(a)+len(b)
|