找出/近似代码的时间和空间复杂性的最佳方法是什么?

时间:2017-02-06 03:07:56

标签: python function big-o

这对我来说并不是特别明显。 当然,如果你的代码每次只迭代列表中的所有n个元素,那么我们就会看O(n)时间。但是所有内置函数呢?我是Python的新手(一般编码)。那么你怎么知道某个函数是否必须遍历元素,或者它是否只是像哈希表那样立即拉出你需要的元素? >> ... 例如,起初我不知道每次更新列表时,实际上都会创建一个全新的列表并重新填充。这比仅仅在我认为它在%之前做的那样只是将一个元素打到背面的步骤要多得多 那么在幕后还需要更长的时间? x.x中

1 个答案:

答案 0 :(得分:1)

可悲的是,这并不是一个简单的答案。编写良好的代码通常会有注释告诉您每种方法的运行时间,但情况并非总是如此。如果您正在使用其他人编写的方法并且他们没有记录他们方法的运行时间,那么唯一的选择就是查看代码并找出它。

随着您获得更多经验,您会发现更容易猜出函数的复杂性。这来自于知道正在使用什么数据结构以及您要调用的代码将要执行的操作。