2-2 对数据规模有一个概念

    技术2023-07-15  90

    数据规模的概念

    如果想要在1s内解决问题:

    O(n^2)的算法可以处理大约10^4级别的数据O(n)的算法可以处理10^8级别的数据  10^8 = 1亿O(nlogn)的算法可以处理10^7级别的数据  log2^9 = 20.723

    算法可能还有较大的系数,所以保险一点的话,可以将上述级别的数据量除以2,或者是10。

    c++,累加1亿条数据,大约需要花费0.4s的时间。

    python,累加1亿条数据,大约需要花费4s的时间

    空间复杂度

    多开一个辅助的数组:O(n)多开一个辅助的二维数组:O(n^2)多开常数空间:O(1)

    递归调用是有空间代价的

    累加,仅使用2个变量,空间复杂度为O(1)。

    累加,使用递归的方式,栈中需要保存n个函数状态,空间复杂度为O(n)。

    所以,需要注意下递归调用函数的空间复杂度。

    Processed: 0.010, SQL: 9