我正在做关于数据结构和算法的课程的笔记。
导师给了我们以下“O(n)时间复杂度”的定义:
O(n) - 线性时间
当算法的执行时间与输入 (n) 的大小成比例线性增长时,该算法被认为具有 O(n) 的复杂度。
下图解释了与定义相关的内容:

我真的不太喜欢这个定义,因为它只考虑了时间。
我们都知道 Big(O) 是关于时间和空间复杂性的。
所以这是我想到的一个更通用的定义:
O(n)
当算法执行的操作数量与输入 (n) 的大小成比例线性增长时,该算法被认为具有 O(n) 的复杂度。
这样定义也将与图表更加一致。
你们有什么感想?您认为最好的定义是什么?
我知道这是一个非常重要的主题,所以我希望我的笔记能够以最好的方式写下来!