复杂度计算总结

影响系统性能的因素有很多。把这些因素分为三大类:算法理论上的计算复杂度、开发实现的方案和硬件设备的规格。

 

使用数学的思维,来进行系统性的复杂度分析。

  • 算法复杂度是一个比较抽象的概念,通常只是一个估计值,它用于衡量程序在运行时所需要的资源,用于比较不同算法的性能好坏。
  • 复杂度进一步细分为时间复杂度和空间复杂度。
  • 时间复杂度是指渐进时间复杂度,表示程序运行时间随着问题复杂度增加而变化的规律。同理,空间复杂度是指渐进空间复杂度,表示程序所需要的存储空间随着问题复杂度增加而变化的规律。
  • 大 O 来表示这两者。

6 个通用法则

1. 四则运算法则

对于时间复杂度,代码的添加,意味着计算机操作的增加,也就是时间复杂度的增加。如果代码是平行增加的,就是加法。如果是循环、嵌套或者函数的嵌套,那么就是乘法。

2. 主次分明法则

这个法则主要是运用了数量级和运算法则优先级的概念

3. 齐头并进法则

这个法则主要是运用了多元变量的概念,其核心思想是复杂度可能受到多个因素的影响。在这种情况下,我们要同时考虑所有因素,并在复杂度公式中体现出来。

4. 排列组合法则

排列组合的思想不仅出现在数学模型的设计中,同样也会出现在复杂度分析中,它经常会用在最好、最坏和平均复杂度分析中。

5. 一图千言法则

画图它们内在的联系就一目了然了

6. 时空互换法则

在给定的计算量下,通常时间复杂度和空间复杂度呈现数学中的反比关系。

 

你可能感兴趣的:(js,算法)