数据结构与算法
前言
数据结构与算法是计算机学习的一个重要方面,对数据结构与算法进行研究可以提升自己的问题解决能力,优化程序性能,并且更加深入的理解计算机系统。
数据结构
对一个数据结构进行研究主要有以下三个方面:
- 逻辑结构
- 数据运算
- 物理结构(存储结构)
算法
对一个算法进行研究有以下几个方面:
- 时间复杂度
- 空间复杂度
对于复杂度的表示一般使用大 O 表示法,n 为数据规模,比如:
$T(n) = 520 = O (1) $
$T(n) = n + 520 = O(n)$
$T(n) = n^2 + 4n + 5 = O(n^2)$
$T(n) = nlog_2n + n + 99999 = O(nlogn)$
$T(n) = n^3 + n^2 = O(n^3)$
$T(n) = O(n^3 + n^2) = O(n^3)$
所以,使用大 O 表示法可以让我们忽略那些低阶的因子,把精力放在那些高阶的因子上,毕竟当 n 的规模足够大时,影响运行效率的往往是那些高阶的因子。
对于复杂度的比较遵循以下原则:
$O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)$
相关文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AnA.!
评论