找出/大致了解代码的时间和空间复杂性的最佳方法是什么



这对我来说不是特别明显。当然,如果您的代码每次都只是遍历列表中的所有 n 个元素,那么我们正在查看 O(n( 时间。但是所有内置函数呢?我对Python(以及一般的编码(非常陌生。那么,您如何知道某个函数是否必须遍历元素,或者它是否以某种方式立即拉取您需要的元素,就像在哈希表中一样?>.> ...例如,起初我不知道每次更新列表时,实际上都会创建一个全新的列表并重新填充。这比像我在%\之前认为的那样将元素拍打到背面要多得多那么还有什么需要在幕后花费更长的时间呢?X.x

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

随着经验的积累,你会发现更容易猜测函数的复杂性。这来自于知道正在使用哪些数据结构以及您调用的代码必须做什么。

相关内容

最新更新