IT阔论

数据结构和算法

2018-10-24  本文已影响0人  默云客
数据结构和算法知识栈

▷ 复杂度分析

用数据结构和算法来解决问题,解决的好不好,效率高不高,省不省空间,这个用形容词是没法描述的,必须用定量的指标来分析,这就会用到贯穿整个数据结构和算法的“复杂度分析”。一般分为时间复杂度空间复杂度

大O复杂度表示法

假设每行代码语句执行的时间是一样的,不论有多少行代码,同一行代码执行多少次,那么,可以得到一个简单的规律,所有代码的执行时间 T(n) 与每行代码的执行次数 n 成正比。总结成一个公式,即:T(n) = O(f(n))
其中,T(n) 表示代码执行的时间;n 表示数据规模的大小;f(n) 表示每行代码执行的次数总和。因为这是一个公式,所以用 f(n) 来表示。公式中的 O,表示代码的执行时间 T(n) 与 f(n) 表达式成正比。这就是大O时间复杂度表示法。

时间复杂度
空间复杂度

空间复杂度全称就是渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规模之间的增长关系。
我们常见的空间复杂度就是 O(1)O(n)O(n^2),像 O(log^n)O(nlog^n) 这样的对数阶复杂度平时都用不到。空间复杂度分析比时间复杂度分析要简单很多。

上一篇 下一篇

猜你喜欢

热点阅读