时间复杂度和空间复杂度计算

时间复杂度和空间复杂度计算,越精简越好,越通俗越好,网上说的都太“难理解“了。

时间复杂度:描述一个算法处理过程与输入数据量大小的关系的概念.

比如,求n个数字的和,某算法需要一个循环,就是说要计算n次,那时间复杂度就是O(n).

在比如,求mXn的矩阵数据的某种算法,需要m,n两个循环,这个时间复杂度就是O(mXn)

其他时间复杂度还有O(Lgn),O(1)等.为了实现某一算法,时间复杂度越低,理论上耗费的计算时间就越短,比如O(n)要好于(n^2).

空间复杂度是反映算法完成时候输入数据n的规模,与计算过程申请的内存大小关系的概念,具体例子就不说了.

算法好坏的评价通常会用到这两个概念的,比如计算斐波那契数列算法,递归算法和查表法就明显看出算法优劣了.

当然,算法实现的好坏及取舍也要看业务场景,具体问题具体分析.